0001537435-23-000096.txt : 20230810 0001537435-23-000096.hdr.sgml : 20230810 20230810091230 ACCESSION NUMBER: 0001537435-23-000096 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 66 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230810 DATE AS OF CHANGE: 20230810 FILER: COMPANY DATA: COMPANY CONFORMED NAME: TECOGEN INC. CENTRAL INDEX KEY: 0001537435 STANDARD INDUSTRIAL CLASSIFICATION: AIR COND & WARM AIR HEATING EQUIP & COMM & INDL REFRIG EQUIP [3585] IRS NUMBER: 043536131 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36103 FILM NUMBER: 231157455 BUSINESS ADDRESS: STREET 1: 45 FIRST AVENUE CITY: WALTHAM STATE: MA ZIP: 02451 BUSINESS PHONE: 781-466-6400 MAIL ADDRESS: STREET 1: 45 FIRST AVENUE CITY: WALTHAM STATE: MA ZIP: 02451 FORMER COMPANY: FORMER CONFORMED NAME: TECOGEN INC DATE OF NAME CHANGE: 20111215 10-Q 1 tgen-20230630.htm 10-Q tgen-20230630
June 30, 2023000153743512/31June 30, 20232023Q2falseJune 30, 20230.0010.001100,000,000100,000,00024,850,26124,850,26124,850,26124,850,26124,850,261http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#OtherLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrenthttp://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent00015374352023-01-012023-06-3000015374352023-06-30xbrli:sharesiso4217:USD00015374352022-12-3100015374352022-06-30iso4217:USDxbrli:shares0001537435us-gaap:ProductMember2023-04-012023-06-300001537435us-gaap:ProductMember2022-04-012022-06-300001537435us-gaap:ServiceMember2023-04-012023-06-300001537435us-gaap:ServiceMember2022-04-012022-06-300001537435us-gaap:EnergyServiceMember2023-04-012023-06-300001537435us-gaap:EnergyServiceMember2022-04-012022-06-3000015374352023-04-012023-06-3000015374352022-04-012022-06-300001537435us-gaap:ProductMember2023-01-012023-06-300001537435us-gaap:ProductMember2022-01-012022-06-300001537435us-gaap:ServiceMember2023-01-012023-06-300001537435us-gaap:ServiceMember2022-01-012022-06-300001537435us-gaap:EnergyServiceMember2023-01-012023-06-300001537435us-gaap:EnergyServiceMember2022-01-012022-06-3000015374352022-01-012022-06-300001537435us-gaap:CommonStockMember2023-03-310001537435us-gaap:AdditionalPaidInCapitalMember2023-03-310001537435us-gaap:RetainedEarningsMember2023-03-310001537435us-gaap:NoncontrollingInterestMember2023-03-3100015374352023-03-310001537435us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001537435us-gaap:NoncontrollingInterestMember2023-04-012023-06-300001537435us-gaap:RetainedEarningsMember2023-04-012023-06-300001537435us-gaap:CommonStockMember2023-06-300001537435us-gaap:AdditionalPaidInCapitalMember2023-06-300001537435us-gaap:RetainedEarningsMember2023-06-300001537435us-gaap:NoncontrollingInterestMember2023-06-300001537435us-gaap:CommonStockMember2022-12-310001537435us-gaap:AdditionalPaidInCapitalMember2022-12-310001537435us-gaap:RetainedEarningsMember2022-12-310001537435us-gaap:NoncontrollingInterestMember2022-12-310001537435us-gaap:AdditionalPaidInCapitalMember2023-01-012023-06-300001537435us-gaap:NoncontrollingInterestMember2023-01-012023-06-300001537435us-gaap:RetainedEarningsMember2023-01-012023-06-300001537435us-gaap:CommonStockMember2022-03-310001537435us-gaap:AdditionalPaidInCapitalMember2022-03-310001537435us-gaap:RetainedEarningsMember2022-03-310001537435us-gaap:NoncontrollingInterestMember2022-03-3100015374352022-03-310001537435us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-300001537435us-gaap:NoncontrollingInterestMember2022-04-012022-06-300001537435us-gaap:RetainedEarningsMember2022-04-012022-06-300001537435us-gaap:CommonStockMember2022-06-300001537435us-gaap:AdditionalPaidInCapitalMember2022-06-300001537435us-gaap:RetainedEarningsMember2022-06-300001537435us-gaap:NoncontrollingInterestMember2022-06-300001537435us-gaap:CommonStockMember2021-12-310001537435us-gaap:AdditionalPaidInCapitalMember2021-12-310001537435us-gaap:RetainedEarningsMember2021-12-310001537435us-gaap:NoncontrollingInterestMember2021-12-3100015374352021-12-310001537435us-gaap:AdditionalPaidInCapitalMember2022-01-012022-06-300001537435us-gaap:NoncontrollingInterestMember2022-01-012022-06-300001537435us-gaap:RetainedEarningsMember2022-01-012022-06-30xbrli:pure0001537435tgen:AmericanDgEnergyMember2017-05-182017-05-180001537435tgen:AegisEnergyServicesLLCMember2023-03-152023-03-1500015374352021-04-012021-06-300001537435tgen:AegisEnergyServicesLLCMember2021-07-012021-09-300001537435tgen:AegisEnergyServicesLLCMember2022-04-142022-04-1400015374352021-07-012021-09-300001537435tgen:AegisEnergyServicesLLCMember2023-01-122023-01-120001537435us-gaap:ProductMembertgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435us-gaap:ProductMembertgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435us-gaap:ProductMembertgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435tgen:ProductsSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435tgen:ServicesSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435tgen:EnergyProductionMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435tgen:MaintenanceServicesMember2023-04-012023-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2023-04-012023-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2023-04-012023-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2023-04-012023-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435us-gaap:ProductMembertgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435us-gaap:ProductMembertgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435us-gaap:ProductMembertgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435tgen:ProductsSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435tgen:ServicesSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435tgen:EnergyProductionMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435tgen:MaintenanceServicesMember2023-01-012023-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2023-01-012023-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2023-01-012023-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2023-01-012023-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435us-gaap:ProductMembertgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435us-gaap:ProductMembertgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435us-gaap:ProductMembertgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435tgen:ProductsSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435tgen:ServicesSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435tgen:EnergyProductionMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435tgen:MaintenanceServicesMember2022-04-012022-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2022-04-012022-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2022-04-012022-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2022-04-012022-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435us-gaap:ProductMembertgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435us-gaap:ProductMembertgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435us-gaap:ProductMembertgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMembertgen:InstallationServicesMember2022-01-012022-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMembertgen:InstallationServicesMember2022-01-012022-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMembertgen:InstallationServicesMember2022-01-012022-06-300001537435tgen:InstallationServicesMember2022-01-012022-06-300001537435tgen:ProductsSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435tgen:ServicesSegmentMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435tgen:EnergyProductionMembertgen:MaintenanceServicesMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435tgen:MaintenanceServicesMember2022-01-012022-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2022-01-012022-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2022-01-012022-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMemberus-gaap:EnergyServiceMember2022-01-012022-06-300001537435tgen:ProductsSegmentMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435tgen:ServicesSegmentMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435tgen:EnergyProductionMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435us-gaap:EmployeeStockOptionMember2023-04-012023-06-300001537435us-gaap:EmployeeStockOptionMember2022-04-012022-06-300001537435us-gaap:EmployeeStockOptionMember2023-01-012023-06-300001537435us-gaap:EmployeeStockOptionMember2022-01-012022-06-300001537435srt:MinimumMemberus-gaap:EnergyEquipmentMember2023-06-300001537435us-gaap:EnergyEquipmentMembersrt:MaximumMember2023-06-300001537435us-gaap:EnergyEquipmentMember2023-06-300001537435us-gaap:EnergyEquipmentMember2022-12-310001537435srt:MinimumMemberus-gaap:MachineryAndEquipmentMember2023-06-300001537435us-gaap:MachineryAndEquipmentMembersrt:MaximumMember2023-06-300001537435us-gaap:MachineryAndEquipmentMember2023-06-300001537435us-gaap:MachineryAndEquipmentMember2022-12-310001537435us-gaap:FurnitureAndFixturesMember2023-06-300001537435us-gaap:FurnitureAndFixturesMember2022-12-310001537435us-gaap:ComputerSoftwareIntangibleAssetMembersrt:MinimumMember2023-06-300001537435us-gaap:ComputerSoftwareIntangibleAssetMembersrt:MaximumMember2023-06-300001537435us-gaap:ComputerSoftwareIntangibleAssetMember2023-06-300001537435us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-310001537435us-gaap:LeaseholdImprovementsMember2023-06-300001537435us-gaap:LeaseholdImprovementsMember2022-12-310001537435tgen:ProductCertificationMember2023-06-300001537435tgen:ProductCertificationMember2022-12-310001537435us-gaap:PatentsMember2023-06-300001537435us-gaap:PatentsMember2022-12-310001537435us-gaap:DevelopedTechnologyRightsMember2023-06-300001537435us-gaap:DevelopedTechnologyRightsMember2022-12-310001537435us-gaap:TrademarksMember2023-06-300001537435us-gaap:TrademarksMember2022-12-310001537435us-gaap:InProcessResearchAndDevelopmentMember2023-06-300001537435us-gaap:InProcessResearchAndDevelopmentMember2022-12-310001537435us-gaap:ContractBasedIntangibleAssetsMember2023-06-300001537435us-gaap:ContractBasedIntangibleAssetsMember2022-12-310001537435tgen:TTcogenIntangibleAssetsMember2023-06-300001537435tgen:TTcogenIntangibleAssetsMember2022-12-310001537435tgen:NonContractRelatedIntangibleAssetsMembertgen:ContractAssetAndLiabilityMember2023-06-300001537435us-gaap:CustomerContractsMembertgen:ContractAssetAndLiabilityMember2023-06-300001537435tgen:ContractAssetAndLiabilityMember2023-06-3000015374352021-01-012021-03-31tgen:saletgen:site0001537435tgen:AegisEnergyServicesLLCMember2023-03-15tgen:vehicletgen:employee0001537435tgen:AegisEnergyServicesLLCMemberus-gaap:MeasurementInputDiscountRateMember2023-03-152023-03-150001537435tgen:AegisEnergyServicesLLCMembertgen:MeasurementInputWACCMember2023-03-152023-03-150001537435tgen:AegisEnergyServicesLLCMember2023-04-012023-06-30utr:sqft0001537435srt:ScenarioForecastMember2024-01-012024-01-010001537435srt:MinimumMember2023-01-012023-06-300001537435srt:MaximumMember2023-01-012023-06-300001537435tgen:AmendedStockOptionandIncentivePlan2006Memberus-gaap:EmployeeStockOptionMembersrt:ParentCompanyMember2023-06-300001537435tgen:A2022StockIncentivePlanMembertgen:NonqualifiedOptionsMember2022-06-090001537435tgen:A2022StockIncentivePlanMember2023-06-300001537435us-gaap:ShareBasedPaymentArrangementNonemployeeMembertgen:NonqualifiedOptionsMember2023-01-012023-06-300001537435us-gaap:ShareBasedPaymentArrangementNonemployeeMember2023-06-300001537435srt:ParentCompanyMember2023-01-012023-06-300001537435srt:ParentCompanyMember2022-12-310001537435srt:ParentCompanyMember2023-01-012023-03-310001537435srt:ParentCompanyMember2021-01-012021-03-310001537435srt:MinimumMembersrt:ParentCompanyMember2023-01-012023-06-300001537435srt:ParentCompanyMember2023-06-300001537435us-gaap:EmployeeStockOptionMember2023-06-300001537435us-gaap:EmployeeStockOptionMember2023-01-012023-06-300001537435us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMember2023-06-300001537435us-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMemberus-gaap:FairValueInputsLevel1Member2023-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Membertgen:EurositePowerIncMember2023-06-300001537435us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMember2023-06-300001537435us-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMember2023-01-012023-06-300001537435us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2023-06-300001537435us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001537435us-gaap:FairValueMeasurementsRecurringMember2023-01-012023-06-300001537435us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMember2022-06-300001537435us-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMemberus-gaap:FairValueInputsLevel1Member2022-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Membertgen:EurositePowerIncMember2022-06-300001537435us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMember2022-06-300001537435us-gaap:FairValueMeasurementsRecurringMembertgen:EurositePowerIncMember2022-01-012022-06-300001537435us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2022-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2022-06-300001537435us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-06-300001537435us-gaap:FairValueMeasurementsRecurringMember2022-01-012022-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2022-12-310001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2023-01-012023-06-300001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2021-12-310001537435us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2022-01-012022-06-3000015374352022-11-232022-11-23iso4217:CADtgen:segment0001537435us-gaap:CorporateAndOtherMemberus-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435us-gaap:OperatingSegmentsMember2023-04-012023-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ProductsSegmentMember2023-04-012023-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ServicesSegmentMember2023-04-012023-06-300001537435us-gaap:IntersegmentEliminationMembertgen:EnergyProductionMember2023-04-012023-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:IntersegmentEliminationMember2023-04-012023-06-300001537435us-gaap:IntersegmentEliminationMember2023-04-012023-06-300001537435tgen:ProductsSegmentMember2023-04-012023-06-300001537435tgen:ServicesSegmentMember2023-04-012023-06-300001537435tgen:EnergyProductionMember2023-04-012023-06-300001537435us-gaap:CorporateAndOtherMember2023-04-012023-06-300001537435tgen:ProductsSegmentMember2023-06-300001537435tgen:ServicesSegmentMember2023-06-300001537435tgen:EnergyProductionMember2023-06-300001537435us-gaap:CorporateAndOtherMember2023-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435us-gaap:OperatingSegmentsMember2023-01-012023-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ProductsSegmentMember2023-01-012023-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ServicesSegmentMember2023-01-012023-06-300001537435us-gaap:IntersegmentEliminationMembertgen:EnergyProductionMember2023-01-012023-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:IntersegmentEliminationMember2023-01-012023-06-300001537435us-gaap:IntersegmentEliminationMember2023-01-012023-06-300001537435tgen:ProductsSegmentMember2023-01-012023-06-300001537435tgen:ServicesSegmentMember2023-01-012023-06-300001537435tgen:EnergyProductionMember2023-01-012023-06-300001537435us-gaap:CorporateAndOtherMember2023-01-012023-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435us-gaap:OperatingSegmentsMember2022-04-012022-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ProductsSegmentMember2022-04-012022-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ServicesSegmentMember2022-04-012022-06-300001537435us-gaap:IntersegmentEliminationMembertgen:EnergyProductionMember2022-04-012022-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:IntersegmentEliminationMember2022-04-012022-06-300001537435us-gaap:IntersegmentEliminationMember2022-04-012022-06-300001537435tgen:ProductsSegmentMember2022-04-012022-06-300001537435tgen:ServicesSegmentMember2022-04-012022-06-300001537435tgen:EnergyProductionMember2022-04-012022-06-300001537435us-gaap:CorporateAndOtherMember2022-04-012022-06-300001537435tgen:ProductsSegmentMember2022-06-300001537435tgen:ServicesSegmentMember2022-06-300001537435tgen:EnergyProductionMember2022-06-300001537435us-gaap:CorporateAndOtherMember2022-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435us-gaap:OperatingSegmentsMember2022-01-012022-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ProductsSegmentMember2022-01-012022-06-300001537435us-gaap:IntersegmentEliminationMembertgen:ServicesSegmentMember2022-01-012022-06-300001537435us-gaap:IntersegmentEliminationMembertgen:EnergyProductionMember2022-01-012022-06-300001537435us-gaap:CorporateAndOtherMemberus-gaap:IntersegmentEliminationMember2022-01-012022-06-300001537435us-gaap:IntersegmentEliminationMember2022-01-012022-06-300001537435tgen:ProductsSegmentMember2022-01-012022-06-300001537435tgen:ServicesSegmentMember2022-01-012022-06-300001537435tgen:EnergyProductionMember2022-01-012022-06-300001537435us-gaap:CorporateAndOtherMember2022-01-012022-06-30

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, DC 20549
 
FORM 10-Q
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the quarterly period ended June 30, 2023

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

Commission file number 001-36103

Clean Energy Solutions.jpg
TECOGEN INC. (OTCQX:TGEN)
(Exact name of Registrant as specified in its charter)
Delaware04-3536131
(State or Other Jurisdiction of Incorporation or Organization)(IRS Employer Identification No.)
45 First Avenue
Waltham, Massachusetts 02451
(Address of Principal Executive Offices and Zip Code)
(781) 466-6402
(Registrant's telephone number, including area code)
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports) and (2) has been subject to such filing requirements for the past 90 days. Yes ý   No ¨
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes ý   No ¨
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer”, “accelerated filer”, “smaller reporting company”, and "emerging growth company" in Rule 12b-2 of the Exchange Act:
Large accelerated filer o
Accelerated filer o
Non-accelerated filer
Emerging Growth company
Smaller reporting 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 Rule 12b-2 of the Exchange Act). Yes    No 
As of August 9, 2023, 24,850,261 shares of common stock, $.001 par value per share, of the registrant were issued and outstanding.



TECOGEN INC.




QUARTERLY REPORT ON FORM 10-Q
FOR THE PERIOD ENDED JUNE 30, 2023
TABLE OF CONTENTS
 
PART I - FINANCIAL INFORMATION

References in this Form 10-Q to "we", "us", "our"', the "Company" and "Tecogen" refers to Tecogen Inc. and its consolidated subsidiaries, unless otherwise noted.


TECOGEN INC.




PART I - FINANCIAL INFORMATION
Item 1 - Financial Statements

CONDENSED CONSOLIDATED BALANCE SHEETS
(unaudited)
 June 30, 2023December 31, 2022
ASSETS
Current assets:  
Cash and cash equivalents$1,871,063 $1,913,969 
Accounts receivable, net5,614,291 6,714,122 
Unbilled revenue1,748,336 1,805,330 
Employee retention credit receivable46,148 713,269 
Inventories, net12,027,525 10,482,729 
Prepaid and other current assets467,390 401,189 
Total current assets21,774,753 22,030,608 
Long-term assets:
Property, plant and equipment, net1,352,318 1,407,720 
Right of use assets920,690 1,245,549 
Intangible assets, net2,421,379 997,594 
Goodwill3,129,147 2,406,156 
Other assets201,898 165,230 
TOTAL ASSETS$29,800,185 $28,252,857 
LIABILITIES AND STOCKHOLDERS’ EQUITY  
Current liabilities:  
Accounts payable4,212,914 3,261,952 
Accrued expenses2,554,000 2,384,447 
Deferred revenue, current2,086,174 1,115,627 
Lease obligations, current513,811 687,589 
Acquisition liabilities, current649,241  
Unfavorable contract liability, current213,559 236,705 
Total current liabilities10,229,699 7,686,320 
Long-term liabilities:  
Deferred revenue, net of current portion154,149 371,823 
Lease obligations, net of current portion459,372 623,452 
Acquisition liabilities, net of current portion1,643,567  
Unfavorable contract liability, net of current portion490,802 583,512 
Total liabilities12,977,589 9,265,107 
Commitments and contingencies (Note 12)
Stockholders’ equity:  
Tecogen Inc. stockholders’ equity:  
Common stock, $0.001 par value; 100,000,000 shares authorized; 24,850,261 issued and outstanding at June 30, 2023 and December 31, 202224,850 24,850 
Additional paid-in capital57,456,945 57,351,008 
Accumulated deficit(40,551,687)(38,281,548)
Total Tecogen Inc. stockholders’ equity16,930,108 19,094,310 
Non-controlling interest(107,512)(106,560)
Total stockholders’ equity16,822,596 18,987,750 
TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY$29,800,185 $28,252,857 

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

TECOGEN INC.




CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS
(unaudited)
Three Months Ended
 June 30, 2023June 30, 2022
Revenues
Products$2,445,631 $3,010,115 
Services3,952,971 3,050,191 
Energy production350,156 354,287 
Total revenues6,748,758 6,414,593 
Cost of sales
Products1,618,456 2,015,466 
Services2,075,869 1,473,586 
Energy production220,007 222,092 
Total cost of sales3,914,332 3,711,144 
Gross profit2,834,426 2,703,449 
Operating expenses
General and administrative2,917,283 2,824,832 
Selling480,786 503,601 
Research and development236,556 194,853 
Gain on disposition of assets(19,950)(2,500)
Total operating expenses3,614,675 3,520,786 
Loss from operations(780,249)(817,337)
Other income (expense)
Interest and other income (expense), net(21,061)(1,265)
Interest expense(1,857)(12,733)
Unrealized gain on investment securities37,497  
Total other income (expense), net14,579 (13,998)
Loss before provision for state income taxes(765,670)(831,335)
Provision for state income taxes9,614 6,500 
Consolidated net loss(775,284)(837,835)
Income attributable to the non-controlling interest(4,826)(18,383)
Net loss attributable to Tecogen Inc.$(780,110)$(856,218)
Net loss per share - basic$(0.03)$(0.03)
Net loss per share - diluted$(0.03)$(0.03)
Weighted average shares outstanding - basic24,850,261 24,850,261 
Weighted average shares outstanding - diluted24,850,261 24,850,261 
 

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

2

TECOGEN INC.




CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS
(unaudited)
Six Months Ended
 June 30, 2023June 30, 2022
Revenues
Products$4,155,767 $6,949,596 
Services7,089,144 5,967,471 
     Energy production883,665 935,849 
Total revenues12,128,576 13,852,916 
Cost of sales
Products2,831,024 4,660,221 
Services3,813,471 2,840,338 
     Energy production557,746 558,119 
Total cost of sales7,202,241 8,058,678 
Gross profit4,926,335 5,794,238 
Operating expenses
General and administrative5,709,766 5,298,735 
Selling1,000,856 1,004,692 
Research and development465,658 334,988 
Gain on disposition of assets(19,950)(36,445)
Gain on termination of unfavorable contract liability (71,375)
Total operating expenses7,156,330 6,530,595 
Loss from operations(2,229,995)(736,357)
Other income (expense)
Interest and other income (expense), net(20,231)(15,416)
Interest expense(2,272)(13,561)
Unrealized gain on investment securities37,497 37,497 
Total other income (expense), net14,994 8,520 
Loss before provision for state income taxes(2,215,001)(727,837)
Provision for state income taxes32,252 10,430 
Consolidated net loss(2,247,253)(738,267)
Income attributable to non-controlling interest(22,886)(28,542)
Net loss attributable to Tecogen Inc.$(2,270,139)$(766,809)
Net loss per share - basic $(0.09)$(0.03)
Net loss per share - diluted$(0.09)$(0.03)
Weighted average shares outstanding - basic 24,850,261 24,850,261 
Weighted average shares outstanding - diluted24,850,261 24,850,261 

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












3

TECOGEN INC.




CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
For the Three and Six Months June 30, 2023 and 2022
(unaudited)



Three Months Ended June 30, 2023Common Stock SharesCommon
Stock
0.001
Par Value
Additional
Paid-In
Capital
Accumulated
Deficit
Non-controlling
Interest
Total
Balance at March 31, 202324,850,261 $24,850 $57,428,356 $(39,771,577)$(88,500)$17,593,129 
Stock based compensation expense— — 28,589 — — 28,589 
Distributions to non-controlling interest— — — — (23,838)(23,838)
Net loss— — — (780,110)4,826 (775,284)
Balance at June 30, 202324,850,261 $24,850 $57,456,945 $(40,551,687)$(107,512)$16,822,596 
Six Months Ended June 30, 2023Common Stock SharesCommon
Stock
0.001
Par Value
Additional
Paid-In
Capital
Accumulated
Deficit
Non-controlling
Interest
Total
Balance at December 31, 202224,850,261 $24,850 $57,351,008 $(38,281,548)$(106,560)$18,987,750 
Stock based compensation expense— — 105,937 — 0— 105,937 
Distributions to non-controlling interest— — — — (23,838)(23,838)
Net loss— — — (2,270,139)22,886 (2,247,253)
Balance at June 30, 202324,850,261 $24,850 $57,456,945 $(40,551,687)$(107,512)$16,822,596 
Three Months Ended June 30, 2022Common Stock SharesCommon
Stock
0.001
Par Value
Additional
Paid-In
Capital
Accumulated
Deficit
Non-controlling
Interest
Total
Balance at March 31, 202224,850,261 $24,850 $57,112,566 $(35,744,212)$(85,420)21,307,784 
Stock based compensation expense— — 89,893 — — 89,893 
Distributions to non-controlling interest— — — — (17,169)(17,169)
Net loss— — — (856,218)18,383 (837,835)
Balance at June 30, 202224,850,261 $24,850 $57,202,459 $(36,600,430)$(84,206)$20,542,673 
Six Months Ended June 30, 2022Common Stock SharesCommon
Stock
0.001
Par Value
Additional
Paid-In
Capital
Accumulated
Deficit
Non-controlling
Interest
Total
Balance at December 31, 202124,850,261 $24,850 $57,016,859 $(35,833,621)$(79,939)$21,128,149 
Stock based compensation expense— — 185,600 — — 185,600 
Distributions to non-controlling interest— — — — (32,809)(32,809)
Net loss— — — (766,809)28,542 (738,267)
Balance at June 30, 202224,850,261 $24,850 $57,202,459 $(36,600,430)$(84,206)$20,542,673 

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

TECOGEN INC.




CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(unaudited)
Six Months Ended
 June 30, 2023June 30, 2022
CASH FLOWS FROM OPERATING ACTIVITIES:
Consolidated net loss$(2,247,253)$(738,267)
Adjustments to reconcile net loss to net cash provided by (used in) operating activities:
Depreciation and amortization, net291,095 217,718 
Stock-based compensation105,937 185,600 
Provision for doubtful accounts44,000 46,000 
Gain on disposition of assets(19,950)(36,445)
Unrealized gain on investment securities(37,497)(37,497)
Gain on termination of unfavorable contract liability (71,375)
Changes in operating assets and liabilities
(Increase) decrease in:
Accounts receivable755,831 (444,541)
Employee retention credit receivable667,121 562,752 
Unbilled revenue56,994 1,117,057 
Inventory(1,133,618)(438,102)
Prepaid expenses and other current assets(66,201)(22,618)
Other assets325,688 308,282 
Increase (decrease) in:
Accounts payable839,784 (247,876)
Accrued expenses and other current liabilities178,241 (74,490)
Deferred revenue 752,873 (589,158)
Other liabilities(359,369)(316,217)
Net cash provided by (used in) operating activities153,676 (579,177)
CASH FLOWS FROM INVESTING ACTIVITIES:
Purchases of property and equipment(19,607)(209,034)
Payment for business acquisition(170,000) 
Purchases of intangible assets (29,505)
Proceeds from disposition of assets16,863 67,169 
Distributions to non-controlling interest(23,838)(32,809)
Net cash used in investing activities(196,582)(204,179)
CASH FLOWS FROM FINANCING ACTIVITIES:
Net cash provided by financing activities  
Change in cash and cash equivalents(42,906)(783,356)
Cash and cash equivalents, beginning of the period1,913,969 3,614,463 
Cash and cash equivalents, end of the period$1,871,063 $2,831,107 
Supplemental disclosures of cash flows information:  
Cash paid for interest$1,443 $12,733 
Cash paid for taxes$32,252 $10,430 

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

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements


Note 1. Description of Business and Basis of Presentation
Description of Business
    Tecogen Inc. (together with its subsidiaries, “we,” “our,” or “us,” or “Tecogen”) designs, manufactures, markets, and maintains high efficiency, ultra-clean cogeneration products. These include natural gas engine driven combined heat and power (CHP) systems, chillers and heat pumps for multi-family residential, commercial, recreational and industrial use. We are known for products that provide customers with substantial energy savings, resiliency from utility power outages and for significantly reducing a customer’s carbon footprint. Our products are sold with our patented Ultera® emissions technology which nearly eliminates all criteria pollutants such as nitrogen oxide ("NOx") and carbon monoxide ("CO"). We developed Ultera® for other applications including stationary engines and forklifts. We were incorporated in the State of Delaware on September 15, 2000.
We have wholly-owned subsidiaries American DG Energy, Inc. ("ADGE") and Tecogen CHP Solutions, Inc., and we own a 51% interest in American DG New York, LLC ("ADGNY"), a joint venture. ADGE and ADGNY distribute, own, and operate clean, on-site energy systems that produce electricity, hot water, heat and cooling. ADGE and ADGNY own the equipment that is installed at customers' facilities and sell the energy produced to the customer on a long-term contractual basis.
Our operations are comprised of three business segments:
our Products segment, which designs, manufactures and sells industrial and commercial cogeneration systems;
our Services segment, which provides operations and maintenance ("O&M") services for our products under long term service contracts, and
our Energy Production segment, which sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term energy sales agreements.
The majority of our customers are located in regions with the highest utility rates, typically California, the Midwest and the Northeast.
On July 20, 2022, we announced our intention to increase focus on opportunities relating to Controlled Environment Agriculture (CEA). Tecogen believes that CEA offers an exciting opportunity to apply the company’s expertise in clean cooling, power generation, and greenhouse gas reduction to address critical issues affecting food and energy security.
Our common stock is quoted on OTC Markets Group, Inc.'s OTCQX Best Market tier and trades under the symbol "TGEN."
On May 18, 2017, we acquired 100% of the outstanding common stock of American DG Energy Inc., formerly a related entity, in a stock-for-stock merger.
On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services for approximately 200 cogeneration systems, and acquired certain vehicles and inventory used by Aegis in connection with the performance of such maintenance services, and, following closing hired eight (8) Aegis employees to provide services with respect to such maintenance agreements. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. See Note 8. - Aegis Contract and Related Asset Acquisition.
Basis of Presentation
    The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all the information and footnotes required by generally accepted accounting principles for complete financial statements. In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023.
    The condensed consolidated balance sheet at December 31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by generally accepted accounting principles for complete financial statements.
    
6

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements


For further information, refer to the consolidated financial statements and footnotes thereto included in Tecogen's Annual Report on Form 10-K for the year ended December 31, 2022.
    The accompanying unaudited condensed consolidated financial statements include our accounts and the accounts of entities in which we have a controlling financial interest. Those entities include our wholly-owned subsidiaries American DG Energy Inc., Tecogen CHP Solutions, Inc., and a joint venture, American DG New York, LLC, in which American DG Energy Inc. holds a 51% interest. Investments in partnerships and companies in which we do not have a controlling financial interest but where we have significant influence are accounted for under the equity method. Any intercompany transactions have been eliminated in consolidation.
    Our operations are comprised of three business segments. Our Products segment designs, manufactures and sells industrial and commercial cogeneration systems as described above. Our Services segment provides operation and maintenance services to customers for our products. Our Energy Production segment sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term sales agreements.
Use of Estimates
    The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.
Income Taxes
    The provisions for income taxes in the accompanying unaudited consolidated statements of operations differ from that which would be expected by applying the federal statutory tax rate primarily due to losses for which no benefit is recognized.
Employee Retention Credit
    On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law providing numerous tax provisions and other stimulus measures, including an employee retention credit (“ERC”), which is a refundable tax credit against certain employment taxes. The Taxpayer Certainty and Disaster Tax Relief Act of 2020 and the American Rescue Plan Act of 2021 extended and expanded the availability of the ERC.
As a result of our election to use an alternative quarter, we qualified for the ERC in the first, second and third quarters of 2021 because our gross receipts decreased by more than 20% from the first, second and third quarters of 2019. As a result of averaging 100 or fewer full-time employees in 2019, all wages paid to employees in the first, second and third quarters of 2021, excluding the wages applied to the Paycheck Protection Program Second Draw Loan, were eligible for the ERC.
During the three months ended June 30, 2021, we recorded an ERC benefit for the first and second quarters of 2021 of $713,269 and, in the three months ended September 30, 2021 we recorded an ERC benefit for the third quarter of 2021 of $562,752, respectively, in other income (expense), net in the our condensed consolidated statements of operations. On April 14, 2022, we received $564,027 from the Internal Revenue Service representing the ERC claim for the third quarter of 2021 and $1,275 of accrued interest. We received $667,121 from the Internal Revenue Service on January 12, 2023 in payment of the ERC claimed from the first and second quarters of 2021 and $15,775 of accrued interest, which is reported in other income (expense) in our condensed consolidated statements of operations for the six months ended June 30, 2023. A current receivable in the amount of $46,148 is included in our condensed consolidated balance sheet as of June 30, 2023. We expect to receive the remaining balance in 2023.
7

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

Note 2. Revenue
    Revenue is recognized when performance obligations under the terms of a contract with our customer are satisfied; generally this occurs with the transfer of control of our products, services and energy production. Revenue is measured as the amount of consideration we expect to receive in exchange for transferring goods or providing services or energy to customers.
    Shipping and handling fees billed to customers in a sales transaction are recorded in revenue and shipping and handling costs incurred are recorded in cost of sales. We have elected to exclude from revenue any value-added sales and other taxes which we collect concurrent with revenue-producing activities. These accounting policy elections are consistent with the manner in which we historically recorded shipping and handling fees and value-added taxes. Incremental costs incurred by us to obtain a contract with a customer are negligible, if any, and are expensed ratably in proportion to the related revenue recognized.
Disaggregated Revenue
In general, our business segmentation is aligned according to the nature and economic characteristics of our products and customer relationships and provides meaningful disaggregation of each business segment's results of operations.
    The following tables further disaggregate our revenue by major source by segment for the three and six months ended June 30, 2023 and 2022.
Three Months Ended June 30, 2023
ProductsServicesEnergy ProductionTotal
Products$2,445,631 $ $ $2,445,631 
Maintenance services 3,952,971  3,952,971 
Energy production  350,156 350,156 
    Total revenue$2,445,631 $3,952,971 $350,156 $6,748,758 

Six Months Ended June 30, 2023
ProductsServicesEnergy ProductionTotal
Products$4,155,767 $ $ $4,155,767 
Maintenance services 7,089,144  7,089,144 
Energy production  883,665 883,665 
    Total revenue$4,155,767 $7,089,144 $883,665 $12,128,576 

Three Months Ended June 30, 2022
ProductsServicesEnergy ProductionTotal
Products$3,010,115 $ $ $3,010,115 
Maintenance services 3,050,191  3,050,191 
Energy production  354,287 354,287 
    Total revenue$3,010,115 $3,050,191 $354,287 $6,414,593 

Six Months Ended June 30, 2022
ProductsServicesEnergy ProductionTotal
Products$6,949,596 $ $ $6,949,596 
Installation services 20,109  20,109 
Maintenance services 5,947,362  5,947,362 
Energy production  935,849 935,849 
    Total revenue$6,949,596 $5,967,471 $935,849 $13,852,916 
8

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements



Products Segment

    Products. Our Product revenues include cogeneration systems that supply electricity and hot water, chillers that provide air-conditioning and hot water and engineered accessories, which consist of ancillary products and parts necessary to install a cogeneration unit including integration into the customers’ existing electrical and mechanical systems. We refer to the package of engineered accessories and engineering and design services necessary for the customers' installation of a cogeneration unit as light installation services.
    We transfer control and generally recognize a sale when we ship a product from our manufacturing facility at which point the customer takes ownership of the product. Payment terms on product sales are generally 30 days.
    We recognize revenue in certain circumstances before delivery to the customer has occurred (commonly referred to as bill and hold transactions). We recognize revenue related to such transactions once, among other things, the customer has made a written fixed commitment to purchase the product(s) under normal billing and credit terms, the customer has requested the product(s) be held for future delivery as scheduled and designated by them, risk of ownership has been assumed by the customer, and the product(s) are tagged as sold and segregated for storage awaiting further direction from the customer. Due to the infrequent nature and duration of bill and hold arrangements, the value associated with custodial storage services is deemed immaterial in the context of the contract and in total, and accordingly, none of the transaction price is allocated to such service.
    Depending on the product and terms of the arrangement, we may defer the recognition of a portion of the transaction price received because we have to satisfy a future obligation (e.g., product start-up service). Amounts allocated to product start-up services are recognized as revenue when the start-up service has been completed. We use an observable selling price to determine standalone selling prices where available and either a combination of an adjusted market assessment approach, an expected cost plus a margin approach, and/or a residual approach to determine the standalone selling prices for separate performance obligations as a basis for allocating contract consideration when an observable selling price is not available. Amounts received but not recognized pending completion of performance are recognized as contract liabilities and are recorded as deferred revenue along with deposits by customers.
Services Segment
Installation Services. Prior to January 1, 2023, we provided installation services which included all necessary engineering and design, labor, subcontract labor and service to install a cogeneration unit including integration into the customers’ existing electrical and mechanical systems. Since January 1, 2023, we have not provided material installation services and do not expect to provide material installation services going forward.
    Maintenance Services. Maintenance services are provided under either long-term maintenance contracts or time and material maintenance contracts. Revenue under time and material maintenance contracts is recognized when the maintenance service is completed. Revenue under long-term maintenance contracts is recognized either ratably over the term of the contract where the contract price is fixed or when the periodic maintenance activities are completed where the invoiced cost to the customer is based on run hours or kilowatts produced in a given period. We use an output method to measure progress towards completion of our performance obligation which results in the recognition of revenue on the basis of a direct measurement of the value to the customer of the services transferred to date relative to the remaining services promised under the contract. We use the practical expedient at ASC 606-10-55-18 of recognizing revenue in an amount equal to the amount we have the right to invoice the customer under the contract. Payment terms for maintenance services are generally 30 days.
Revenues resulting from the Aegis acquisition have been, since the acquisition date, included in our Services segment.
Energy Production Segment
    Energy Production. Revenue from energy contracts is recognized when electricity, heat, hot and/or chilled water is produced by our owned on-site cogeneration systems. Each month we invoice the customer and recognize revenue for the various forms of energy delivered, based on actual meter readings which capture the quantity of the various forms of energy delivered in a given month, under a contractually defined formula which takes into account the current month's cost of energy from the local power utility.
    As the various forms of energy delivered by us under energy production contracts are simultaneously delivered and consumed by the customer, our performance obligation under these contracts is considered to be satisfied over time. We use an output method to measure progress towards completion of our performance obligation which results in the recognition of revenue on the basis of a direct measurement of the value to the customer of the services transferred to date relative to the
9

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

remaining services promised under the contract. We use the practical expedient at ASC 606-10-55-18 of recognizing revenue in an amount equal to the amount that we have the right to invoice the customer under the contract. Payment terms on invoices under these contracts are generally 30 days.
Contract Balances
    The timing of revenue recognition, billings and cash collections result in billed accounts receivable, unbilled revenue (contract assets) and deferred revenue, consisting of customer deposits and billings in excess of revenue recognized (contract liabilities) on the condensed consolidated balance sheets.
    We did not recognize any revenue during the six months ended June 30, 2023 that was included in unbilled revenue at the end of the period. Approximately $16,428 was billed in this period that had been recognized as revenue in previous periods.

    Revenue recognized during the six ended months June 30, 2023 that was included in deferred revenue at the beginning of the period was approximately $648,435.

Remaining Performance Obligations

    Remaining performance obligations related to ASC 606 represent the aggregate transaction price allocated to performance obligations with an original contract term of greater than one year, excluding certain maintenance contracts and all energy production contracts where a direct measurement of the value to the customer is used as a method of measuring progress towards completion of our performance obligation. Exclusion of these remaining performance obligations is due in part to the inability to quantify values based on unknown future levels of delivery and in some cases rates used to invoice customers. Remaining performance obligations therefore consist of unsatisfied or partially satisfied performance obligations related to fixed price maintenance contracts and installation contracts.
    As of June 30, 2023, the aggregate amount of the transaction price allocated to remaining performance obligations was approximately $2.2 million. We expect to recognize revenue of approximately 98.9% of the remaining performance obligations over the next 24 months, 93.1% recognized in the first 12 months and 5.8% recognized over the subsequent 12 months, and the remainder recognized thereafter.

Note 3. Income Per Common Share
    Basic and diluted loss per share for the three and six months ended June 30, 2023 and 2022, respectively, were as follows: 
Three Months Ended June 30,Six Months Ended June 30,
2023202220232022
Numerator:
Net loss available to stockholders$(780,110)$(856,218)$(2,270,139)$(766,809)
Denominator:
Weighted average shares outstanding - Basic24,850,261 24,850,261 24,850,261 24,850,261 
Effect of dilutive securities:
Stock options    
Weighted average shares outstanding - Diluted24,850,261 24,850,261 24,850,261 24,850,261 
Basic loss per share$(0.03)$(0.03)$(0.09)$(0.03)
Diluted loss per share$(0.03)$(0.03)$(0.09)$(0.03)
Anti-dilutive shares underlying stock options outstanding1,831,851 925,396 1,831,851 925,396 


Note 4.Inventories, net
     Inventories at June 30, 2023 and December 31, 2022 consisted of the following:

10

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

June 30, 2023December 31, 2022
Raw materials, net$9,895,804 $9,001,491 
Work-in-process1,001,676 498,139 
Finished goods1,130,045 983,099 
Total inventories, net$12,027,525 $10,482,729 


Note 5. Property, Plant and Equipment, net

Property, plant and equipment at June 30, 2023 and December 31, 2022 consisted of the following:
Estimated Useful
Life (in Years)
June 30, 2023December 31, 2022
Energy systems
1 - 15 years
$2,810,232 $2,810,232 
Machinery and equipment
5 - 7 years
1,766,945 1,624,885 
Furniture and fixtures
5 years
198,170 196,007 
Computer software
3 - 5 years
192,865 192,865 
Leasehold improvements*466,789 466,789 
  5,435,001 5,290,778 
Less - accumulated depreciation and amortization (4,082,683)(3,883,058)
 $1,352,318 $1,407,720 
* Lesser of estimated useful life of asset or lease term
    Depreciation and amortization expense on property and equipment for the three and six months ended June 30, 2023 and 2022 was $161,701 and $279,193 and $123,818 and $250,610, respectively. During the six months ended June 30, 2023, we received proceeds of $16,863 from the disposition of certain assets and reversed $8,687 of accrued decomissioning costs from a former ADG energy site, realizing a gain of $19,950. During the six months ended June 30, 2022, we received proceeds of $67,169 from the disposition of certain assets, realizing a gain of $36,445.


Note 6. Intangible Assets and Liabilities Other Than Goodwill

    As of June 30, 2023 and December 31, 2022 we had the following amounts related to intangible assets and liabilities other than goodwill:
June 30, 2023December 31, 2022
Intangible assetsCostAccumulated AmortizationTotalCostAccumulated AmortizationTotal
Product certifications$777,465 $(618,749)$158,716 $777,465 $(584,863)$192,602 
Patents888,910 (452,914)435,996 888,910 (405,140)483,770 
Developed technology240,000 (164,000)76,000 240,000 (156,000)84,000 
Trademarks26,896  26,896 26,896  26,896 
In Process R&D263,936 (84,837)179,099 263,936 (65,984)197,952 
Favorable contract asset384,465 (374,287)10,178 384,465 (372,091)12,374 
Customer contract 1,591,327 (56,833)1,534,494    
$4,172,999 $(1,751,620)$2,421,379 $2,581,672 $(1,584,078)$997,594 
Intangible liability
Unfavorable contract liability$2,618,168 $(1,913,807)$704,361 $2,618,168 $(1,797,951)$820,217 
11

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

The aggregate amortization expense related to intangible assets and liabilities exclusive of unfavorable contract related intangibles for the three and six months ended June 30, 2023 and 2022 was $117,833 and $167,194 and $50,469 and $100,491, respectively. The net credit to cost of sales related to the amortization of the unfavorable contract related intangible asset and liability for the three and six months ended June 30, 2023 and 2022 was $54,575 and $115,508 and $62,857 and $133,383, respectively.

Favorable/Unfavorable Contract Assets and Liabilities and Customer Contract Assets

    The favorable contract asset and unfavorable contract liability in the foregoing table represent the estimated fair value of American DG Energy's customer contracts (both positive for favorable contracts and negative for unfavorable contracts) which were acquired by us in May 2017 and include the customer relationship contract acquired by us in April 2023 as part of the Aegis acquisition. The Aegis customer relationship contract is being amortized on a straight-line basis over a period of seven (7) years which is consistent with the projected revenue recognition.

    Amortization of intangibles including contract related amounts is calculated using the straight-line method over the remaining useful life or contract term. Aggregate future amortization over the next five years and thereafter as of June 30, 2023 is estimated to be as follows:
Non-contract Related IntangiblesContract Related IntangiblesTotal
Year 1$183,504 $13,774 $197,278 
Year 2179,922 95,572 275,494 
Year 3176,029 143,370 319,399 
Year 4172,418 165,490 337,908 
Year 5 100,048 174,871 274,919 
Thereafter48,068 237,056 285,124 
Total$859,989 830,133 $1,690,122 

We recognized a gain on termination of unfavorable contract liability of $71,375 in the six months ended June 30, 2022 due to the closing of certain energy production sites.

Note 7.Sale of Energy Producing Assets and Goodwill Impairment
    During the first quarter of 2019 we recognized two individual sales of energy producing assets, for a total of eight power purchase agreements, including the associated energy production contracts for total consideration of $7 million.
    In connection with these assets sales, we entered into agreements with the purchaser to maintain and operate the assets over the remaining periods of the associated energy production contracts (through August 2033 and January 2034, respectively) in exchange for monthly maintenance and operating fees. These agreements contain provisions whereby we have guaranteed to the purchaser a minimum level or threshold of cash flows from the associated energy production contracts. In October 2021 the minimum guarantee with respect to one of the energy purchase agreements was modified by reducing the guaranteed minimum collections by $35,000 per year, the guaranteed minimum collection amount associated with one site that was sold by the customer. Actual results are compared to the minimum threshold bi-annually and we are contractually obligated to reimburse any shortfall to the purchaser. To the extent actual cash flow results exceed the minimum threshold, we are entitled to fifty percent of such excess under the agreements. Based upon an analysis of these energy producing assets expected future performance, as of June 30, 2023 we do not expect to make any material payments under the guarantee.
At June 30, 2023, we were due $22,229 under the energy production contracts, representing outstanding accounts receivable balances that were due from the purchaser's customers which were past due at December 31, 2022 and have since been collected. We expect to receive these funds in the third quarter of 2023 when the bi-annual reconciliation for the period ended June 30, 2023 is prepared.
    The foregoing agreements also contain provisions whereby we have agreed to make whole the purchaser in the event the counterparty to the energy production contract(s) defaults on or otherwise terminates before the stated expiration of the energy production contract. Should we be required to make whole the purchaser under such provisions, we would be entitled to seek recovery from the counterparty to the energy production contract(s) under a similar provision contained in those contracts in respect of early termination.
12

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

    We are also responsible under the agreements for site decommissioning costs, if any, in excess of certain threshold amounts by site. Decommissioning of site assets is performed when, if and as requested by the counterparty to the energy production contract upon termination of the energy production contract.    

Note 8.Aegis Contract and Related Asset Acquisition

On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets from Aegis, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis’ rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services to third parties for approximately 200 cogeneration systems and we agreed to acquire from Aegis certain vehicles and inventory used by Aegis in connection with the performance of its maintenance services. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. At closing, we hired eight (8) Aegis employees who, following the closing, have agreed to continue to provide maintenance services relating to the cogeneration systems covered by the maintenance agreements assumed pursuant to the Agreement. Following the closing and for a period of up to seven (7) years, we have agreed to pay Aegis a percentage of the revenue collected for maintenance services provided pursuant to the maintenance agreements acquired from Aegis. Further, prior to December 31, 2023, we have the right to acquire and assume additional Aegis’ maintenance agreements for cogeneration systems on substantially similar terms and conditions. The Agreement contained certain indemnification provisions and agreements on the part of Aegis and for each party to cooperate with each other and provide certain transitional assistance. We acquired the Aegis maintenance agreements to expand our Service portfolio and to benefit from the long-term contract revenue stream generated by these agreements.
We have determined that the assignment and assumption of the Aegis maintenance agreements, in combination with the related asset acquisition and the retention of the former Aegis employees, constitutes a business and should be accounted for as a business combination under the acquisition method. As of the acquisition date, we recognized, separately from goodwill, the identifiable assets acquired and the liabilities assumed, at fair value.

We have included the financial results of the Aegis maintenance agreements in our consolidated financial statements from April 1, 2023, the closing or acquisition date.

The following table summarizes the consideration paid for the Aegis acquisition and the fair value of assets acquired and contract-related liabilities assumed as the acquisition date:

13

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

Consideration Paid:
Cash$170,000 
Accounts receivable credit issued300,000 
Account payable 111,178 
Contingent consideration1,442,462 
Total fair value of consideration transferred2,023,639 
Identifiable assets acquired and liabilities assumed:
Assets acquired
Property, plant and equipment170,000 
Inventory411,178 
Identifiable intangible asset - customer contracts1,591,327 
2,172,505 
Acquired contract-related liabilities assumed
Deferred maintenance reserve(871,856)
(871,856)
Net identifiable assets acquired1,300,649 
Excess of cost over fair value of net assets acquired (Goodwill)$722,991 

The amounts recognized for inventory, identifiable intangible assets, contingent consideration and deferred maintenance reserves are provisional pending completion of the necessary valuations and analysis. ASC 805 establishes a measurement period to provide companies with a reasonable amount of time to obtain the information necessary to identify and measure various items in a business combination and cannot extend beyond one year from the acquisition date.
The fair value of the contingent consideration was estimated using the income approach. The excess cash flow was discounted to present value using an appropriate rate of return to estimate the market value of the customer identifiable intangible asset and the risks associated with the future revenue forecasts due to potential changes in customer energy requirements or changes in the economic viability of these CHP sites which depend on the spread between natural gas fuel and electricity prices, all of which are not within our control. Key assumptions to value the customer identifiable intangible asset included a discount rate of 15%, anticipated existing contract run out and forecasted revenue.
On the date of acquisition, the fair value of the contingent consideration and the deferred maintenance reserve were calculated using a weighted average cost of capital of 12%, discounting the future cash flows to present value and are subsequently remeasured to fair value at each reporting date until the contingencies are resolved.
The contingent consideration is payable within forty-five (45) days following the end of each calendar quarter through the earlier of the expiration or termination of the relevant maintenance agreements, or the seventh (7th) anniversary of the acquisition date. The consideration is equal to the product of the revenues collected in a calendar quarter multiplied by an applicable percentage. The agreement stipulates quarterly aggregate revenue targets and an applicable percentage, and provides for a higher applicable percentage if revenues exceed the target revenues. The applicable percentage ranges from 5% to 10% over the agreement term. The deferred maintenance reserve represents costs, which are expected to be incurred over a three-year period from the date of acquisition, to repair customer equipment that had not been properly maintained prior to our acquisition of the maintenance service agreements.
Revenues and gross profit since the acquisition date were $628,813 and $411,106, respectively, for the three months ended June 30, 2023 and are included in our Services segment.
The purchase price of the acquisition was allocated to the tangible and intangible assets acquired and liabilities assumed and recognized at their fair value based on widely accepted valuation techniques in accordance with ASC 820, "Fair Value Measurement," as of the acquisition date. The process for estimating fair value requires the use of significant assumptions and estimates of future cash flows and developing appropriate discount rates. The excess of the purchase price over fair value of the net identified assets acquired and liabilities assumed was recorded as goodwill. Goodwill is primarily attributable to the going concern element of the Aegis business, including its assembled workforce and the long-term nature of the customer maintenance agreements, as well as anticipated cost synergies due primarily to the elimination of administrative overhead. Goodwill resulting from the Aegis acquisition is not expected to be deductible for income tax purposes.
14

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

Acquisition-related costs which consisted on recurring internal resources were deminimus and such costs were expensed as incurred (ASC805-50-30-1).

The following table summarizes the contract-related liabilities assumed as of:

June 30, 2023December 31, 2022
Acquisition liabilities, current
Contingent consideration$164,357 $— 
Deferred maintenance reserve484,884 — 
649,241 — 
Acquisition liabilities, long-term
Contingent consideration1,278,105 — 
Deferred maintenance reserve365,462 — 
$1,643,567 $— 

Note 9.Leases
    Our leases principally consist of operating leases related to our corporate office, field offices, and our research, manufacturing, and storage facilities.
    At inception, we determine if an arrangement contains a lease and whether that lease meets the classification criteria of a finance or operating lease. Some of our lease agreements contain lease components (e.g. minimum rent payments) and non-lease components (e.g. maintenance, labor charges, etc.). We account for each component separately based on the estimated standalone price of each component.
    Operating leases are included in Right-of-use assets, Lease obligations, current and Lease obligations, long term on the condensed consolidated balance sheets. These assets and liabilities are recognized at the commencement date based on the present value of remaining lease payments over the lease term and using an incremental borrowing rate consistent with the lease terms or implicit rates, when readily determinable. For those leases where it is reasonably certain at the commencement date that we will exercise the option to extend the lease, then the lease term will include the lease extension term. Short-term operating leases, which have an initial term of 12 months or less, are not recorded on the balance sheet.
    Lease expense for operating leases, which principally consist of fixed payments for base rent, is recognized on a straight-line basis over the lease term. Lease expense for the three and six months ended June 30, 2023 and 2022 was $216,841 and $406,556 and $210,155 and $407,074, respectively.
    Supplemental information related to leases for the six months ended June 30, 2023 was as follows:
Six Months Ended June 30,
20232022
Cash paid for amounts included in the measurement of operating lease liabilities$371,264 $365,509 
Right-of-use assets obtained in exchange for operating lease liabilities$ $ 
Weighted-average remaining lease term - operating leases3.70 years3.70 years
Weighted-average discount rate - operating leases6 %6 %
Supplemental information related to operating leases as of June 30, 2023 and December 31, 2022 was as follows:
June 30, 2023December 31, 2022
Operating leases
Right-of-use assets$920,690 $1,245,549 
Operating lease liability, current$513,811 $687,589 
Operating lease liability, long-term459,372 623,452 
Total operating lease liability$973,183 $1,311,041 
15

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

    Future minimum lease commitments under non-cancellable operating leases as of June 30, 2023 were as follows:
 Operating Leases
Year 1$550,785 
Year 2132,569 
Year 3121,565 
Year 476,818 
Year 553,422 
Thereafter144,100 
Total lease payments1,079,259 
Less: imputed interest106,076 
Total$973,183 
The lease on our headquarters located in Waltham, Massachusetts which consists of approximately 43,000 square feet of manufacturing, storage and office space, expires on March 31, 2024. Currently, our monthly base rent is $44,254. On March 31, 2023, we entered into two lease agreements for two adjoining buildings, located in Billerica, Massachusetts, containing approximately 26,412 square feet of manufacturing, storage and offices space to serve as our headquarters and manufacturing facilities. The lease agreements provide for initial lease terms of five (5) years with two successive options to renew for additional terms of five (5) years. Both leases commence on January 1, 2024 and require payment of the base rent, real estate taxes, common maintenance expenses and aggregate deposits of $38,200. Our costs for initial improvements required to the leased premises is estimated to range between $1,000,000 and $1,250,000. The estimated straight-line monthly rent expense for the initial term of the lease is approximately $24,800 per month. In accordance with ASC 842-20-30-1, we will record the lease liability and right-of-use asset using the discount rate for the lease upon the lease commencement date.

Note 10. Stock-Based Compensation

Stock-Based Compensation
    We adopted a 2006 Stock Option and Incentive Plan, or the Plan, under which the Board of Directors may grant incentive or non-qualified stock options and stock grants to key employees, directors, advisors and consultants. The Plan was amended at various dates by the Board of Directors to increase the reserved shares of common stock issuable under the Amended Plan to 3,838,750 as of June 30, 2023, and in June 2017 stockholders approved an amendment to extend the termination date of the Plan to January 1, 2026 and ratified all of our option grants issued after January 1, 2016 (the "Amended Plan").
    Stock options vest based upon the terms within the individual option grants, with an acceleration of the unvested portion of such options upon a change in control event, as defined in the Amended Plan. The options are not transferable except by will or by the laws of descent and distribution. The option price per share under the Amended Plan cannot be less than the fair market value of the underlying shares on the date of the grant. The number of shares remaining available for future issuance under the Amended Plan as of June 30, 2023 was 188,393.
During the six months ended June 30, 2023, we did not grant any options to purchase shares of common stock under the Amended Plan.
We adopted the 2022 Stock Incentive Plan (the "2022 Plan"), under which the Board of Directors may grant incentive or non-qualified stock options and stock grants to key employees, directors, advisors and consultants. We have reserved 3,800,000 shares of our common stock for issuance pursuant to awards under the 2022 Plan. The adoption of the 2022 Plan was approved by our shareholders on June 9, 2022.
Under the 2022 Plan, stock options vest based upon the terms within the individual option grants, with an acceleration of the unvested portion of such options upon a change in control event, as defined in the 2022 Plan. The options are not transferable except by will or domestic relations order. The option price per share under the 2022 Plan cannot be less than the fair market value of the underlying shares on the date of the grant. The number of shares remaining available for future issuance under the Plan as of June 30, 2023 was 3,475,000.
16

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

    During the six months ended June 30, 2023, we granted non-qualified options to purchase an aggregate of 125,000 shares of common stock at $1.10 per share to certain directors. These options have a vesting schedule of four years and expire in ten years. The fair value of the options issued in 2023 was $62,500. The weighted-average grant date fair value of stock options granted during 2023 was $0.50 per share.
Stock option activity for the six months ended June 30, 2023 was as follows: 
Common Stock OptionsNumber of
Options
Exercise
Price
Per
Share
Weighted
Average
Exercise
Price
Weighted
Average
Remaining
Life
Aggregate
Intrinsic
Value
Outstanding, December 31, 20223,204,297 
$0.71-$10.33
$1.61 7.30 years$882,074 
Granted
125,000 
$1.10
$1.11 
Exercised
 
Canceled and forfeited
(42,000)$1.10-$3.20$2.98 
Outstanding, June 30, 20233,287,297 
 $0.71-$10.33
$1.57 7.00 years$406,845 
Exercisable, June 30, 20231,788,972 $2.06 $206,145 
Vested and expected to vest, June 30, 20233,062,548 $1.61  $376,740 
    Consolidated stock-based compensation expense for the three and six months ended June 30, 2023 and 2022 was $28,589 and $105,937 and $89,893 and $185,600, respectively. No tax benefit was recognized related to the stock-based compensation recorded during the period.
    At June 30, 2023 the total compensation cost related to unvested stock option awards not yet recognized is $455,445 and this amount will be recognized over a weighted average period of 2.99 years.

Note 11. Fair Value Measurements
    The fair value topic of the FASB Accounting Standards Codification defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. The accounting guidance also establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs, where available, and minimize the use of unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:
 Level 1 - Unadjusted quoted prices in active markets for identical assets or liabilities. We currently do not have any Level 1 financial assets or liabilities.
 Level 2 - Observable inputs other than quoted prices included in Level 1. Level 2 inputs include quoted prices for identical assets or liabilities in non-active markets, quoted prices for similar assets or liabilities in active markets and inputs other than quoted prices that are observable for substantially the full term of the asset or liability. We have Level 2 financial assets and liabilities as provided below.
 Level 3 - Unobservable inputs reflecting management’s own assumptions about the input used in pricing the asset or liability. We do not currently have any Level 3 financial assets or liabilities.
    The following tables present the asset reported in "other assets" in the consolidated balance sheet measured at its fair value on a recurring basis as of June 30, 2023 and 2022 by level within the fair value hierarchy.
17

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

June 30, 2023Quoted prices in active markets for identical assetsSignificant other observable inputsSignificant unobservable inputsUnrealized
DescriptionTotalLevel 1Level 2Level 3 Gains
Recurring fair value measurements
    Marketable equity securities
          EuroSite Power Inc.$131,241 $ $131,241 $ $37,497 
Total recurring fair value measurements$131,241 $ $131,241 $ $37,497 
June 30, 2022Quoted prices in active markets for identical assetsSignificant other observable inputsSignificant unobservable inputsUnrealized
DescriptionTotalLevel 1Level 2Level 3Gains
Recurring fair value measurements
Marketable equity securities
EuroSite Power Inc.$112,492 $ $112,492 $ $37,497 
Total recurring fair value measurements$112,492 $ $112,492 $ $37,497 
      
    We utilize a Level 2 category fair value measurement to value our investment in EuroSite Power, Inc. as a marketable equity security at period end. That measurement is equal to the quoted market closing price at period end. Since this security is not actively traded we classify it as Level 2.
    The following table summarizes changes in Level 2 assets which are comprised of marketable equity securities for the six months ended June 30, 2023 and 2022:


Fair value at December 31, 2022$93,744 
Unrealized gains37,497 
Fair value at June 30, 2023$131,241 
Fair value at December 31, 2021$74,995 
Unrealized gains37,497 
Fair value at June 30, 2022$112,492 

Note 12. Commitments and Contingencies
    On November 23, 2022, we were served with a suit filed against us on August 24, 2022 in the Ontario Superior Court of Justice by The Corporation of the Town of Milton, Milton Energy Generation Solutions Inc. and Milton Hydro Distribution Inc (the "Plaintiffs"), all of whom are municipal corporations incorporated in the Province of Ontario. The plaintiffs sued for damages in the amount of CDN $1,000,000, pre-judgment and post-judgment interest, legal fees, and any further relief the court may deem, alleging breach of contract, breach of warranty, negligent misrepresentations and nuisance. Plaintiffs allege that on or about July 10, 2022, a Tecogen cogenerator installed by us at the plaintiffs facility caught fire, causing damage to the cogenerator and the plaintiff's facility. We have filed a response denying liability and are being represented by Canadian counsel. For the year ended December 31, 2022, we reserved $150,000 for anticipated damages which may not be covered by our insurance.
18

TECOGEN INC.
Notes to Condensed Consolidated Financial Statements

Note 13. Segments
    As of June 30, 2023, we were organized into three (3) operating segments through which senior management evaluates our business. These segments, as described in more detail in Note 1, are organized around the products and services provided to customers and represent our reportable segments. The following table presents information by reportable segment for the three and six months ended June 30, 2023 and 2022:
ProductsServicesEnergy ProductionCorporate, other and elimination (1)Total
Three Months Ended June 30, 2023
Revenue - external customers$2,445,631 $3,952,971 $350,156 $ $6,748,758 
Intersegment revenue 66,143  (66,143) 
   Total revenue$2,445,631 $4,019,114 $350,156 $(66,143)$6,748,758 
Gross profit$827,175 $1,877,102 $130,149 $ $2,834,426 
Identifiable assets$9,955,171 $13,051,494 $3,284,542 $3,508,978 $29,800,185 
Six Months Ended June 30, 2023
Revenue - external customers$4,155,767 $7,089,144 $883,665 $ $12,128,576 
Intersegment revenue 154,357  (154,357) 
   Total revenue$4,155,767 $7,243,501 $883,665 $(154,357)$12,128,576 
Gross profit$1,324,743 $3,275,673 $325,919 $ $4,926,335 
Identifiable assets$9,955,171 $13,051,494 $3,284,542 $3,508,978 $29,800,185 
Three Months Ended June 30, 2022
Revenue - external customers$3,010,115 $3,050,191 $354,287 $ $6,414,593 
Intersegment revenue 62,415  (62,415) 
Total revenue$3,010,115 $3,112,606 $354,287 $(62,415)$6,414,593 
Gross profit$994,649 $1,576,605 $132,195 $ $2,703,449 
Identifiable assets$11,237,886 $9,799,483 $3,855,043 $5,441,312 $30,333,724 
Six Months Ended June 30, 2022
Revenue - external customers$6,949,596 $5,967,471 $935,849 $ $13,852,916 
Intersegment revenue 157,669  (157,669) 
Total revenue$6,949,596 $6,125,140 $935,849 $(157,669)$13,852,916 
Gross profit$2,289,375 $3,127,133 $377,730 $ $5,794,238 
Identifiable assets$11,237,886 $9,799,483 $3,855,043 $5,441,312 $30,333,724 
(1) Corporate, intersegment revenue, other and elimination includes various corporate assets.
Note 14. Subsequent Events
    We have evaluated subsequent events through the date of this filing and determined that no material subsequent events occurred that would require recognition in the consolidated financial statements or disclosure in the notes thereto.
19

TECOGEN INC.
Management's Discussion and Analysis


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

    This Management’s Discussion and Analysis of Financial Condition and Results of Operations and other parts of this Quarterly Report on Form 10-Q (“Form 10-Q”) contain forward-looking statements, within the meaning of the Private Securities Litigation Reform Act of 1995, that involve risks and uncertainties. Any statements contained herein that are not statements of historical fact may be deemed to be forward-looking statements. Forward-looking statements provide current expectations of future events based on certain assumptions and include any statement that does not directly relate to any historical or current fact. For example, statements in this Form 10-Q regarding the potential future impact of the COVID-19 pandemic on our business and results of operations are forward-looking statements. Forward-looking statements can also be identified by words such as “future,” “anticipates,” “believes,” “estimates,” “expects,” “intends,” “plans,” “predicts,” “will,” “would,” “could,” “can,” “may,” and similar terms. Forward-looking statements are not guarantees of future performance and our actual results may differ significantly from the results discussed in the forward-looking statements. Such forward-looking statements include, among other things, statements regarding the impact of the coronavirus pandemic on demand for our products and services, the availability of incentives, rebates, and tax benefits relating to our products, changes in the regulatory environment relating to our products, competing technological developments, and the availability of financing to fund our operations and growth. Factors that might cause such differences include, but are not limited to, those discussed in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2022 (“2022 Form 10-K”), as supplemented, and Part II, Item 1A of this Form 10-Q, in each case under the heading “Risk Factors.” The following discussion should be read in conjunction with the 2022 Form 10-K filed with the Securities and Exchange Commission (“SEC”) and the condensed consolidated financial statements and accompanying notes included in Part I, Item 1 of this Form 10-Q. Each of the terms “Tecogen,” “we,” “our,” and “us” as used herein refer collectively to Tecogen Inc. and our wholly owned subsidiaries, unless otherwise stated. While we may elect to update forward-looking statements in the future, we specifically disclaim any obligation to do so, even if our estimates change, and you should not rely on those forward-looking statements as representing ours views as of any date subsequent to the date of the filing of this Form 10-Q.

Recent Developments

Assumption of Aegis Energy Services Maintenance Agreements
On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets from Aegis, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis’ rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services to third parties for approximately 200 cogeneration systems and we agreed to acquire from Aegis certain vehicles and inventory used by Aegis in connection with the performance of its maintenance services. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. At closing, we hired eight (8) Aegis employees who, following the closing, have agreed to continue to provide maintenance services relating to the cogeneration systems covered by the maintenance agreements assumed pursuant to the Agreement. Following the closing and for a period of up to seven (7) years, we have agreed to pay Aegis a percentage of the revenue collected for maintenance services provided pursuant to the maintenance agreements acquired from Aegis. Further, prior to December 31, 2023, we have the right to acquire and assume additional Aegis’ maintenance agreements for cogeneration systems on substantially similar terms and conditions. The Agreement contained certain indemnification provisions and agreements on the part of Aegis and for each party to cooperate with each other and provide certain transitional assistance. We acquired the Aegis maintenance agreements to expand our Service portfolio and to benefit from the long-term contract revenue stream generated by these agreements.

Tecochill Hybrid-Drive Air-Cooled Chiller Development
During the third quarter of 2021 we began development of the Tecochill Hybrid-Drive Air-Cooled Chiller. We recognized that there were many applications where the customer wanted an easy to install roof top chiller. Using the inverter design from our InVerde e+ cogeneration module, the system can simultaneously take two inputs, one from the grid or a renewable energy source and one from our natural gas engine. This allows a customer to seek the optimum blend of operational cost savings and greenhouse gas benefits while providing added resiliency from two power sources. We introduced the Tecochill Hybrid-Drive Air-Cooled Chiller at the AHR Expo in February 2023 and are expecting to start accepting orders for the product in the fourth quarter 2023. A patent application based on this concept has been filed with the US Patent and Trademark Office.
20

TECOGEN INC.
Management's Discussion and Analysis

Controlled Environment Agriculture
On July 20, 2022, we announced our intention to increase our focus on opportunities relating to Controlled Environment Agriculture (CEA). Tecogen believes that CEA offers an exciting opportunity to apply the company’s expertise in clean cooling, power generation, and greenhouse gas (GHG) reduction to address critical issues affecting food and energy security. In recent years our chiller and cogeneration equipment have been used in numerous cannabis cultivation facilities because our systems significantly reduce operating costs, reduce the facility GHG footprint and offer resiliency to grid outages.
CEA facilities enable multiple crop cycles (15 to 20 cycles) in one year compared to one or two crop cycles in conventional farming. In addition, growing produce close to the point of sale reduces food spoilage during transportation. Food crops grown in greenhouses typically have lower yields per square foot than in CEA facilities, and the push to situate facilities close to consumers in cities requires minimizing land area and maximizing yield per square foot. Yields are increased in CEA facilities by supplementing or replacing natural light with grow lights in a climate-controlled environment - which requires significant energy use.
Our experience providing clean energy solutions to cannabis cultivation facilities has given us significant insight into requirements relating to energy-intensive indoor agriculture applications that we expect to be transferable to CEA facilities for food production. Although we have no current plans to develop CEA facilities ourselves, we are working with other companies that are providing HVAC solutions, modular chiller plants, and controls to integrate and expand our solutions for CEA. Although there can be no assurance, we expect customers using the exhaust gas CO2 from our engines to boost plant growth both in food crop and cannabis facilities.
Employee Retention Credit
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law providing numerous tax provisions and other stimulus measures, including an employee retention credit (“ERC”), which is a refundable tax credit against certain employment taxes. The Taxpayer Certainty and Disaster Tax Relief Act of 2020 and the American Rescue Plan Act of 2021 extended and expanded the availability of the ERC.
As a result of our election to use an alternative quarter, we qualified for the ERC in the first, second and third quarters of 2021 because our gross receipts decreased by more than 20% from the first, second and third quarters of 2019. As a result of averaging 100 or fewer full-time employees in 2019, all wages paid to employees in the first, second and third quarters of 2021, excluding the wages applied to the Paycheck Protection Program Second Draw Loan, were eligible for the ERC.
During the three months ended June 30, 2021, we recorded an ERC benefit for the first and second quarters of 2021 of $713,269 and, in the three months ended September 30, 2021 we recorded an ERC benefit for the third quarter of 2021 of $562,752, respectively, in other income (expense), net in the our condensed consolidated statements of operations. On April 14, 2022, we received $564,027 from the Internal Revenue Service representing the ERC claim for the third quarter of 2021 and $1,275 of accrued interest. We received $667,121 from the Internal Revenue Service on January 12, 2023 in payment of the ERC claimed from the first and second quarters of 2021 and $15,775 of accrued interest, which is reported in other income (expense) in our condensed consolidated statements of operations for the three months ended June 30, 2023. A current receivable in the amount of $46,148 is included in our condensed consolidated balance sheet as of June 30, 2023. We expect to receive the remaining balance in 2023.
Impact of the Russian Invasion of Ukraine
Presently, we have no operations or customers in Russia or the Ukraine. The higher energy prices for natural gas as a result of the war may affect the performance of our Energy Production segment. However, we have also seen higher electricity prices as much of the electricity production in the United States is generated from fossil fuels. If the electricity prices continue to rise, the economic savings generated by our products are likely to increase. In addition to the direct result of changes in natural gas and electricity prices, the war in Ukraine may result in higher cybersecurity risks, increased or ongoing supply chain challenges, and volatility related to the trading prices of commodities.
Overview

    Tecogen designs, manufactures and sells industrial and commercial cogeneration systems that produce combinations of electricity, hot water and air conditioning using automotive engines that have been adapted to run on natural gas. Cogeneration systems are efficient because, in addition to supplying mechanical energy to power electric generators or compressors – displacing utility supplied electricity – they provide an opportunity for the facility to incorporate the engine’s waste heat into onsite processes, such as space and potable water heating. We produce standardized, modular, small-scale products, with a limited number of product configurations that are adaptable to multiple applications. We refer to these combined heat and power products as CHP (electricity plus heat) and Engine driven chillers (cooling plus heat).

21

TECOGEN INC.
Management's Discussion and Analysis
    Our products are sold directly to end-users by our in-house marketing team and by established sales agents and representatives. We have agreements in place with distributors and sales representatives. Our existing customers include hospitals and nursing homes, colleges and universities, health clubs and spas, hotels and motels, office and retail buildings, food and beverage processors, multi-unit residential buildings, laundries, ice rinks, swimming pools, factories, municipal buildings, military installations and indoor growing facilities. We have an installed base of more than 3,000 units. Our products have long useful lives with proper maintenance. Some of our units have been operating for over 35 years.

    With the acquisition of American DG Energy Inc. ("ADGE") in May 2017, we added an additional source of revenue. Through ADGE, we install, own, operate and maintain complete distributed generation electricity systems, or DG systems or energy systems, and other complementary systems at customer sites, and sell electricity, hot water, heat and cooling energy under long-term contracts at prices guaranteed to the customer to be below conventional utility rates. Each month we obtain readings from our energy meters to determine the amount of energy produced for each customer. We use a contractually defined formula to multiply these readings by the appropriate published price of energy (electricity, natural gas or oil) from each customer's local energy utility, to derive the value of our monthly energy sale, which includes a negotiated discount. Our revenues per customer on a monthly basis vary based on the amount of energy produced by our energy systems and the published price of energy (electricity, natural gas or oil) from our customer's local energy utility that month.

    Our operations are comprised of three business segments. Our Products segment designs, manufactures and sells industrial and commercial cogeneration systems. Our Services segment provides operation and maintenance services for our products under long term service contracts. Our Energy Production segment sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term sales agreements.


22

TECOGEN INC.
Management's Discussion and Analysis
Results of Operations

Second Quarter of 2023 Compared to Second Quarter of 2022

    The following table sets forth for the periods indicated, the percentage of net sales represented by certain items reflected in our condensed consolidated statements of operations:

Three Months Ended
June 30, 2023June 30, 2022
Revenues100.0%100.0%
Cost of sales58.0%57.9%
Gross profit42.0%42.1%
Operating expenses
General and administrative43.2%44.0%
Selling7.1%7.9%
Research and development3.5%3.0%
Gain on disposition of assets(0.3)%—%
Total operating expenses53.6%54.9%
Loss from operations(11.6)%(12.7)%
Total other income (expense), net0.2 %(0.2)%
Consolidated net loss(11.5)%(13.1)%
Income attributable to the noncontrolling interest(0.1)%(0.3)%
Net loss attributable to Tecogen, Inc.(11.6)%(13.3)%

Revenues

    The following table presents revenue for the periods indicated, by segment and the change from the prior year:

Three Months Ended
June 30, 2023June 30, 2022Increase (Decrease) $Increase (Decrease) %
REVENUES:
Products
Cogeneration$427,314 $953,864 $(526,550)(55.2)%
Chiller1,687,981 1,738,051 (50,070)(2.9)%
Engineered accessories330,336 318,200 12,1363.8 %
Total Product 2,445,631 3,010,115 (564,484)(18.8)%
Services
Maintenance services3,952,971 3,050,191 902,78029.6 %
Installation services— — — %
Total Service 3,952,971 3,050,191 902,78029.6 %
Energy Production 350,156 354,287 (4,131)(1.2)%
Total revenues$6,748,758 $6,414,593 $334,1655.2 %

    Total revenues for the three months ended June 30, 2023 were $6,748,758 compared to $6,414,593 for the same period in 2022, an increase of $334,165 or 5.2% year over year.


23

TECOGEN INC.
Management's Discussion and Analysis
    Products

    Products revenues in the three months ended June 30, 2023 were $2,445,631 compared to $3,010,115 for the same period in 2022, a decrease of $564,484, or 18.8%. The decrease in Products revenue during the three months ended June 30, 2023 is due to a $526,550, or 55.2%, decrease in cogeneration sales and a decrease in chiller sales of $50,070, or 2.9%, offset partially by an increase in sales of engineered accessories of $12,136, of 3.8%. Our Products sales mix, as well as Products revenue, can vary significantly from period to period as our products are high dollar, low volume sales.

    Services

    Service revenues in the three months ended June 30, 2023 were $3,952,971, compared to $3,050,191 for the same period in 2022, an increase of $902,780, or 29.6%. The increase in revenue during the three months ended June 30, 2023 is due primarily to the addition of $628,813 in revenue from the acquired Aegis maintenance contracts and a $273,967, or 9.0%, increase in service contract revenues from existing contracts.

    Energy Production

    Energy Production revenues in the three months ended June 30, 2023 were $350,156, compared to $354,287 for the same period in 2022, a decrease of $4,131, or 1.2%. The decrease in energy production revenue is a consequence of certain energy production sites that have permanently closed and seasonality.

Cost of Sales

    Cost of sales in the three months ended June 30, 2023 was $3,914,332 compared to $3,711,144 for the same period in 2022, an increase of $203,188, or 5.5%. The increase in cost of sales is due to increased Services revenue and the impact of inflation on material costs. During the three months ended June 30, 2023 our gross margin decreased to 42.0% compared to 42.1% for the same period in 2022, a 0.1% percentage point decrease.

    Products

    Cost of sales for Products in the three months ended June 30, 2023 was $1,618,456 compared to $2,015,466 for the same period in 2022, a decrease of $397,010, or 19.7% due to decreased product revenue volume. During the three months ended June 30, 2023, our Products gross margin was 33.8% compared to 33.0% for the same period in 2022, an 0.8% percentage point increase.

    Services

    Cost of sales for Services in the three months ended June 30, 2023 was $2,075,869 compared to $1,473,586 for the same period in 2022, an increase of $602,283, or 40.9%, due primarily to increased labor and material costs as a consequence of acquiring the Aegis customer maintenance contracts and increased material usage at existing sites. During the three months ended June 30, 2023, our Services gross margin decreased to 47.5% compared to 51.7% for the same period in 2022, a 4.2% percentage point decrease due to increased labor and material costs.

    Energy Production     

    Cost of sales for Energy Production in the three months ended June 30, 2023 was $220,007 compared to $222,092 for the same period in 2022, a decrease of $2,085, or 0.9%. During the three months ended June 30, 2023 our Energy Production gross margin was 37.2% compared to 37.3% for the same period in 2022, a 0.1% percentage point decrease.

Operating Expenses

    Operating expenses increased $93,889, or 2.7%, to $3,614,675 in the three months ended June 30, 2023 compared to $3,520,786 in the same period in 2022. The total operating expenses were higher primarily due to additional costs as a result of the acquisition of Aegis contracts and related assets.
24

TECOGEN INC.
Management's Discussion and Analysis
Three Months Ended
Operating ExpensesJune 30, 2023June 30, 2022Increase (Decrease) $Increase (Decrease) %
General and administrative$2,917,283 $2,824,832 $92,451 3.3 %
Selling480,786 503,601 (22,815)(4.5)%
Research and development236,556 194,853 41,703 21.4 %
Gain on disposition of assets(19,950)$(2,500)(17,450)698.0 %
Total$3,614,675 $3,520,786 $93,889 2.7 %

    General and administrative expenses consist of executive staff, accounting and legal expenses, office space, general insurance and other administrative expenses. General and administrative expenses for the three months ended June 30, 2023 were $2,917,283 compared to $2,824,832 for the same period in 2022, an increase of $92,451 or 3.3%, due primarily to a $92,726 increase in business insurance costs and a $74,900 increase in consulting costs, offset partially by a $87,438 decrease in stock-based compensation.

    Selling expenses consist of sales staff, commissions, marketing, travel and other selling related expenses. Selling expenses for the three months ended June 30, 2023 were $480,786 compared to $503,601 for the same period in 2022, a decrease of $22,815 or 4.5%, due primarily to a $13,055 decrease in sales commissions and an $8,417 decrease in payroll costs.

    Research and development expenses consist of engineering and technical staff, materials, outside consulting and other related expenses. Research and development expenses for the three months ended June 30, 2023 were $236,556 compared to $194,853 for the same period in 2022, an increase of $41,703 or 21.4%, due primarily to increased payroll costs.

Loss from Operations

    Loss from operations for the three months ended June 30, 2023 was $780,249 compared to a loss of $817,337 for the same period in 2022, a decrease of $37,088. The decrease is due primarily to higher Services revenues and gross profit.

Other Income (Expense), net

    Other income, net for the three months ended June 30, 2023 was $14,579 compared to other expense, net of $13,998 for the same period in 2022, an increase of $28,577. The increase in other income is due primarily to the unrealized gain on marketable securities recognized in the three months ended June 30, 2023.

Provision for State Income Taxes

    The provision for state income taxes for the three months ended June 30, 2023 and 2022 was $9,614 and $6,500, respectively and represents estimated income tax payments, net of refunds, to various states.

Non-controlling Interest

    Income attributable to the non-controlling interest was $4,826 for the three months ended June 30, 2023 which represents the non-controlling interest portion of American DG Energy's 51% owned subsidiary, American DG New York, LLC. For the same period in 2022, income attributable to the non-controlling interest was $18,383. The decrease in income attributable to the non-controlling interest is due to decreased revenue and increased costs at the energy production sites.

Net Loss Attributable to Tecogen Inc

    The net loss attributable to Tecogen for the three months ended June 30, 2023 was $780,110 compared to a net loss of $856,218 for the same period in 2022, a decrease of $76,108, or 8.9%. The decrease in the net loss is due primarily to higher Services revenues and gross profit in the three months ended June 30, 2023.



25

TECOGEN INC.
Management's Discussion and Analysis
Six Months Ended June 30, 2023 compared to the Six Months Ended June 30, 2022

    The following table sets forth for the periods indicated, the percentage of net sales represented by certain items reflected in our condensed consolidated statements of operations:

Six Months Ended
June 30, 2023June 30, 2022
Revenues100.0%100.0%
Cost of sales59.4%58.2%
Gross profit40.6%41.8%
Operating expenses
General and administrative47.1%38.2%
Selling8.3%7.3%
Research and development3.8%2.4%
Gain on disposition of assets(0.2)%(0.3)%
Gain on termination of unfavorable contract liability— %(0.5)%
Total operating expenses59.0 %47.1 %
Loss from operations(18.4)%(5.3)%
Total other income (expense), net0.1 %0.1 %
Consolidated net loss(18.5)%(5.3)%
Income attributable to the noncontrolling interest(0.2)%(0.2)%
Net loss attributable to Tecogen, Inc.(18.7)%(5.5)%

Revenues

The following table presents revenue for the periods indicated, by segment and the change from the prior year:
Six Months Ended
June 30, 2023June 30, 2022Increase (Decrease) $Increase (Decrease) %
REVENUES:
Products
Cogeneration$971,007 $3,127,868 $(2,156,861)(69.0)%
Chiller2,756,915 3,345,459 (588,544)(17.6)%
Engineered accessories427,845 476,269 (48,424)(10.2)%
Total Product 4,155,767 6,949,596 (2,793,829)(40.2)%
Services
Maintenance services7,089,144 5,947,362 1,141,782 19.2 %
Installation services— 20,109 (20,109)(100.0)%
Total Service 7,089,144 5,967,471 1,121,673 18.8 %
Energy Production 883,665 935,849 (52,184)(5.6)%
Total revenues$12,128,576 $13,852,916 $(1,724,340)(12.4)%


    Total revenues for the six months ended June 30, 2023 were $12,128,576 compared to $13,852,916 for the same period in 2022, a decrease of $1,724,340 or 12.4% year over year.


26

TECOGEN INC.
Management's Discussion and Analysis
    Products

    Products revenues in the six months ended June 30, 2023 were $4,155,767 compared to $6,949,596 for the same period in 2022, a decrease of $2,793,829, or 40.2%. The decrease in Products revenue during the six months ended June 30, 2023 is due to a decrease in cogeneration sales of $2,156,861, or 69.0%, a decrease in chiller sales of $588,544, or 17.6%, and, by a $48,424, or 10.2%, decrease in sales of engineered accessories. Our Products sales mix, as well as Products revenue, can vary significantly from period to period as our products are high dollar, low volume sales.

    Services

    Services revenues in the six months ended June 30, 2023 were $7,089,144, compared to $5,967,471 for the same period in 2022, an increase of $1,121,673, or 18.8%. The increase in revenue during the six months ended June 30, 2023 is due primarily to the addition of $628,813 in revenue from the acquired Aegis maintenance contracts and a $492,860 or 8.3%, increase in service contract revenues from existing contracts.

    Energy Production

    Energy Production revenues in the six months ended June 30, 2023 were $883,665, compared to $935,849 for the same period in 2022, a decrease of $52,184, or 5.6%. The decrease in Energy Production revenue is a consequence of certain Energy Production sites that were down for maintenance and system upgrades in 2023 and seasonality.

Cost of Sales

    Cost of sales in the six months ended June 30, 2023 was $7,202,241 compared to $8,058,678 for the same period in 2022, a decrease of $856,437, or 10.6%. The decrease in cost of sales is due to decreased Products revenue volume, offset partially by increased labor and material costs as a consequence of acquiring the Aegis customer maintenance contracts and increased material usage at existing sites. During the six months ended June 30, 2023 our gross margin decreased to 40.6% compared to 41.8% for the same period in 2022, a 1.2% percentage point decrease due to higher labor and material costs.

    Products

    Cost of sales for Products in the six months ended June 30, 2023 was $2,831,024 compared to $4,660,221 for the same period in 2022, a decrease of $1,829,197, or 39.3% due to decreased Products revenue volume, offset partially by higher material costs. During the six months ended June 30, 2023, our Products gross margin was 31.9% compared to 32.9% for the same period in 2022, an 1.0% percentage point decrease. The decrease in margin is primarily a function of increased material costs.

    Services

    Cost of sales for Services in the six months ended June 30, 2023 was $3,813,471 compared to $2,840,338 for the same period in 2022, an increase of $973,133, or 34.3%, due primarily to increased labor and material costs as a consequence of acquiring the Aegis customer maintenance contracts and increased material usage at existing sites. During the six months ended June 30, 2023, our Services gross margin decreased to 46.2% compared to 52.4% for the same period in 2022, a 6.2% percentage point decrease due to increased labor and material costs.

    Energy Production     

    Cost of sales for Energy Production in the six months ended June 30, 2023 was $557,746 compared to $558,119 for the same period in 2022, a decrease of $373, or 0.1%. During the six months ended June 30, 2023 our Energy Production gross margin was 36.9% compared to 40.4% for the same period in 2022, a 3.5% percentage point decrease. The decrease in the Energy Production gross margin is due to decreased runtime at our Energy Production sites in the six months ended June 30, 2023 compared to the same period in 2022.

Operating Expenses
    Operating expenses increased $625,735, or 9.6%, to $7,156,330 in the six months ended June 30, 2023 compared to $6,530,595 in the same period in 2022. The total operating expenses were higher primarily due to higher salary costs, increased travel expenses, higher insurance premiums and costs related to the acquisition of Aegis contracts and related assets.
27

TECOGEN INC.
Management's Discussion and Analysis
Six Months Ended
Operating ExpensesJune 30, 2023June 30, 2022Increase (Decrease) $Increase (Decrease) %
General and administrative$5,709,766 $5,298,735 $411,031 7.8 %
Selling1,000,856 1,004,692 (3,836)(0.4)%
Research and development465,658 334,988 130,670 39.0 %
Gain on disposition of assets(19,950)(36,445)16,495 (45.3)%
Gain on termination of unfavorable contract liability— (71,375)71,375 — %
Total$7,156,330 $6,530,595 $625,735 9.6 %


    General and administrative expenses consist of executive staff, accounting and legal expenses, office space, general insurance and other administrative expenses. General and administrative expenses for the six months ended June 30, 2023 were $5,709,766 compared to $5,298,735 for the same period in 2022, an increase of $411,031 or 7.8% due primarily to a $161,740 increase in business insurance costs, a $156,811 increase in travel costs and a $114,774 increase in consulting costs.
    Selling expenses consist of sales staff, commissions, marketing, travel and other selling related expenses. Selling expenses for the six months ended June 30, 2023 were $1,000,856 compared to $1,004,692 for the same period in 2022, a decrease of $3,836 or 0.4%, due to a $92,292 increase in trade show expense, offset partially by a $90,459 decrease in sales commissions.
    Research and development expenses consist of engineering and technical staff, materials, outside consulting and other related expenses. Research and development expenses for the six months ended June 30, 2023 were $465,658 compared to $334,988 for the same period in 2022, an increase of $130,670 or 39.0%, due to increased payroll costs.
We recognized a gain on termination of unfavorable contract liability of $71,375 in the six months ended June 30, 2022 due to the closing of certain energy production sites.

Loss from Operations

    Loss from operations for the six months ended June 30, 2023 was $2,229,995 compared to a loss of $736,357 for the same period in 2022, an increase of $1,493,638. The increase in the loss from operations is due primarily to lower Products revenue and gross profit in the six months ended June 30, 2023 and a $625,735 increase in operating expenses.

Other Income (Expense), net

    Other income, net for the six months ended June 30, 2023 was $14,994 compared to other income of $8,520 for the same period in 2022, an increase of $6,474.

Provision for State Income Taxes

    The provision for state income taxes for the six months ended June 30, 2023 and 2022 was $32,252 and $10,430, respectively and represents estimated income tax payments, net of refunds, to various states.

Non-controlling Interest

    Income attributable to the non-controlling interest was $22,886 for the six months ended June 30, 2023 which represents the non-controlling interest portion of American DG Energy's 51% owned subsidiary, American DG New York, LLC. For the same period in 2022, income attributable to the non-controlling interest was $28,542.

Net Income (Loss) Attributable to Tecogen Inc

    The net loss attributable to Tecogen for the six months ended June 30, 2023 was $2,270,139 compared to a net loss of $766,809 for the same period in 2022, an increase of $1,503,330, or 196.1%. The increase in the net loss is due primarily to lower Products revenue and gross profit and increased operating expenses in the six months ended June 30, 2023.
28

TECOGEN INC.
Management's Discussion and Analysis

Liquidity and Capital Resources

    The following table presents a summary of our net cash flows from operating, investing and financing activities:

Six Months Ended
Cash Provided by (Used in)June 30, 2023June 30, 2022Increase (Decrease)
Operating activities$153,676 $(579,177)$732,853 
Investing activities(196,582)(204,179)7,597 
Financing activities— — — 
Change in cash and cash equivalents$(42,906)$(783,356)$740,450 

    Consolidated working capital at June 30, 2023 was $11,545,054 compared to $14,344,288 at December 31, 2022, a decrease of $2,799,234, or 19.5%. Included in working capital were cash and cash equivalents of $1,871,063 at June 30, 2023, compared to $1,913,969 at December 31, 2022, a decrease of $42,906, or 2.2%.

Cash Flows from Operating Activities

    Cash provided by operating activities for the six months ended June 30, 2023 was $153,676 compared to $579,177 of cash used by operating activities for the same period in 2022, an increase of $732,853, or 126.5%. Our accounts receivable and unbilled revenue balances were $5,614,291 and $1,748,336, respectively, at June 30, 2023 compared to $6,714,122 and $1,805,330 at December 31, 2022, providing $755,831 and $56,994 of cash, respectively. Inventories increased $1,133,618 during the six months ended June 30, 2023 due to acquiring inventory based on forecasted revenue. During the three months ended June 30, 2023 we collected the majority of the outstanding Employee Retention Credit receivables, providing $667,121 of cash from operations.
    Accounts payable increased to $4,212,914 as of June 30, 2023 from $3,261,952 at December 31, 2022, providing $839,784 in cash flow from operations. The increase in accounts payable was due to increased inventory procured in the six months ended June 30, 2023. Deferred revenue increased as of June 30, 2023 compared to December 31, 2022, providing $752,873 of cash from operations. We expect accounts payable and deferred revenue to fluctuate with routine changes in operations.

Cash Flows from Investing Activities

    During the six months ended June 30, 2023 we used $196,582 in cash from investing activities. We used $170,000 of cash to acquire certain assets as part of the Aegis acquisition, used $19,607 of cash to purchase property, plant and equipment, and distributed $23,838 to the 49% non-controlling interest holders of American DG New York LLC, partially offset by the receipt of $16,863 in proceeds from the disposition of assets.
For the six months ended June 30, 2022 cash used in investing activities was $204,179. During the six months ended June 30, 2022 we used $209,034 of cash to purchase property, plant and equipment, $29,505 to acquire intangible assets, and distributed $32,809 to the non-controlling interest holders of American DG New York LLC, partially offset by receipt of $67,169 in insurance and other proceeds from the disposition of assets.

Cash Flows from Financing Activities

    During the six months ended June 30, 2023 and 2022, there were no cash flows from financing activities.

Backlog

    As of June 30, 2023, our backlog of product and installation projects, excluding service contracts, was $8,234,288, consisting of $5,720,038 of purchase orders received by us and $2,514,250 of projects in which the customer's internal approval process is complete, financial resources have been allocated and the customer has made a firm verbal commitment that the order is in the process of execution. Backlog at the beginning of any period is not necessarily indicative of future performance. Our presentation of backlog may differ from other companies in our industry.

29

TECOGEN INC.
Management's Discussion and Analysis

Liquidity

    At June 30, 2023, we had cash and cash equivalents of $1,871,063, a decrease of $42,906 or 2.2% from the cash and cash equivalents balance at December 31, 2022. During the six months ended June 30, 2023, our Products revenue was negatively impacted. Our Products have long sales cycles and the reduced business development activity in the aftermath of COVID-19 resulted in what we believe is a temporary reduction in Products revenue.

    Based on our current operating plan, we believe existing resources, including existing cash and cash flows from operations, will be sufficient to meet our working capital requirements for the next twelve months. However, we may need to generate sufficient additional cash from operations to finance the company during the periods beyond twelve months. If sufficient funds from operating activities are not available to finance our business and operations, we may need to raise additional capital through debt financing or an equity offering to meet our operating and capital needs. There can be no assurance we will be able to raise such additional debt or equity financing or upon terms that are acceptable to us.

Significant Accounting Policies and Critical Estimates

    Our significant accounting policies are discussed in the Notes to our Consolidated Financial Statements in our Annual Report on Form 10-K for the year ended December 31, 2022. The accounting policies and estimates that can have a significant impact upon our operating results, financial position and footnote disclosures are described in the above notes and in the Annual Report.

Significant New Accounting Standards or Updates Not Yet Effective    
    The Company's critical accounting policies have remained consistent as discussed in our Annual Report on
Form 10-K for the year ended December 31, 2022, filed with the SEC on March 23, 2023.
    See Note 1, Description of Business and Basis of Presentation, to the Condensed Consolidated Financial Statements included elsewhere in this Quarterly Report on Form 10-Q.
Seasonality

    The majority of our chilling systems sold will be operational for the summer. Demand for our service team is higher in the warmer months when cooling is required. Chiller units are generally shut down in the winter and started up again in the spring. The chiller "busy season' for the service team generally runs from May through the end of September. Our cogeneration sales are not generally affected by seasonality.

Off-Balance Sheet Arrangements

    Currently, we do not have any material off-balance sheet arrangements, including any outstanding derivative financial instruments, off-balance sheet guarantees, interest rate swap transactions or foreign currency contracts. We do not engage in trading activities involving non-exchange traded contracts.
Item 3. Quantitative and Qualitative Disclosures About Market Risk.
    Not applicable.
30


TECOGEN INC.
Item 4. Controls and Procedures.
Management’s Evaluation of Disclosure Controls and Procedures:
    As of the end of the period covered by this Report, our Chief Executive Officer and Chief Financial Officer ("Certifying Officer") conducted evaluations of our disclosure controls and procedures. As defined in Rule 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended ("Securities Exchange Act"), the term "disclosure controls and procedures" means controls and procedures of an issuer that are designed to ensure the information required to be disclosed by the issuer in the reports that it files or submits under the Section 13(a) or 15(d) is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission's ("SEC") rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by an issuer in the reports that it files or submits under Section 13(a) or 15(d) of the Securities Exchange Act is accumulated and communicated to the issuer's management, including the Certifying Officers, to allow timely decisions regarding required disclosure.
    Our disclosure controls and procedures are designed to provide reasonable assurance that the control system’s objectives will be met. Our management, including our Chief Executive Officer and Chief Financial Officer, after evaluating the effectiveness of our disclosure controls and procedures as of the end of the period covered by this Report, have concluded that our disclosure controls and procedures were not effective due to a material weakness with respect to a small number of individuals dealing with general controls over information technology. Management is taking steps to remediate the weaknesses as resources become available.
Changes in Internal Control over Financial Reporting:
    There were no changes in our internal controls over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Securities Exchange Act) during the period covered by this Report that have materially affected, or are reasonably likely to materially affect, our internal controls over financial reporting.


31


TECOGEN INC.
PART II - OTHER INFORMATION
Item 1. Legal Proceedings
    On November 23, 2022, we were served with a suit filed against us on August 24, 2022 in the Ontario Superior Court of Justice by The Corporation of the Town of Milton, Milton Energy Generation Solutions Inc. and Milton Hydro Distribution Inc (the "Plaintiffs"), all of whom are municipal corporations incorporated in the Province of Ontario. The plaintiffs sued for damages in the amount of CDN $1,000,000, pre-judgment and post-judgment interest, legal fees, and any further relief the court may deem, alleging breach of contract, breach of warranty, negligent misrepresentations and nuisance. Plaintiffs allege that on or about July 10, 2022, a Tecogen cogenerator installed by us at the plaintiffs facility caught fire, causing damage to the cogenerator and the plaintiff's facility. We have filed a response denying liability and are being represented by Canadian counsel. For the year ended December 31, 2022, we reserved $150,000 for anticipated damages which may not be covered by our insurance. We are not a party to any other material pending legal proceeding.
Item 1A. Risk Factors    
    In addition to the other information set forth in this report, you should carefully consider the factors discussed under "Item1A - Risk Factors” and elsewhere in our Annual Report on Form 10-K for our fiscal year ended December 31, 2022 ("2022 Form 10-K") The risks discussed in our 2022 Form 10-K could materially affect our business, financial condition and future results. The risks described in our 2022 Form 10-K are not the only risks we face. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially and adversely affect our business, financial condition or operating results. The following material change to our risk factors since filing our 2022 Form 10-K is as follows:
Losses or unauthorized access to or releases of confidential information, including personal information, could subject us to significant reputational, financial, legal and operational consequences.
Our business requires us to use and store confidential information, including personal information, with respect to our customers and employees and also requires us to share confidential information with suppliers and other third parties. We rely on suppliers that are also exposed to ransomware and other malicious attacks that can disrupt business operations. Although we take steps to secure confidential information that is provided to or accessible by third parties working on our behalf, such measures may not always be effective and losses or unauthorized access to or releases of confidential information occur. Such incidents and other malicious attacks could materially adversely affect our business, reputation, results of operations and financial condition.
We have experienced malicious attacks and other attempts to gain unauthorized access to our systems, including the ransomware attack on our computer network which occurred on April 28, 2023 which required that we limit user access, remove the hard drives from two affected workstations from service and restore network files from systems backups. Our network returned to full operation on May 1, 2023. Since this incident, we have implemented changes to user access passwords, conducted a full audit of user accounts and implemented multi-factor authentication for network and workstation access. These attacks seek to compromise the confidentiality, integrity or availability of confidential information or disrupt normal business operations, and could, among other things, impair our ability to attract and retain customers for its products and services, impact our stock price, materially damage commercial relationships, and expose us to litigation or government investigations, which could result in penalties, fines or judgments against us. Globally, attacks are expected to continue accelerating in both frequency and sophistication with increasing use by actors of tools and techniques that are designed to circumvent controls, avoid detection, and remove or obfuscate forensic evidence, all of which hinders our ability to identify, investigate and recover from incidents. In addition, attacks against us and our customers can escalate during periods of severe diplomatic or armed conflict.
We have implemented systems and processes intended to secure our information technology systems and prevent unauthorized access to or loss of sensitive data, and mitigate the impact of unauthorized access, including through the use of encryption and authentication technologies and we continue to undertake regular reviews of our IT infrastructure and have investigated improved software and hardware cyber threat protection solutions. But these measures cannot provide absolute security, and losses or unauthorized access to or releases of confidential information occur and could materially adversely affect our business, reputation, results of operations and financial condition.
Item 2. Unregistered Sales of equity Securities and Use of Proceeds
    None.

Item 3. Defaults in Senior Securities
    None.

Item 4. Mine Safety Disclosures
32


TECOGEN INC.
    Not applicable.

Item 5. Other Information    
    None.
33


TECOGEN INC.
Item 6. Exhibits
Exhibit No.Description of Exhibit
31.1*
32.1**
101.INS**XBRL Instance Document
101.SCH**XBRL Taxonomy Extension Schema
100.CAL**XBRL Taxonomy Extension Calculation Linkbase
100.DEF**XBRL Taxonomy Extension Definition Linkbase
101.LAB**XBRL Taxonomy Extension Label Linkbase
101.PRE** XBRL Taxonomy Extension Presentation Linkbase
____________________________________________
*    Filed herewith
**    Furnished herewith
+    Compensatory plan or arrangement





34


TECOGEN INC.

SIGNATURES
 
    Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned.
 TECOGEN INC.
 (Registrant)
 
Dated: August 10, 2023By:/s/ Abinand Rangesh
Abinand Rangesh
Chief Executive and Financial Officer
(Principal Executive and Financial Officer)

35
EX-31.1 2 tgn-20230630xex311.htm EX-31.1 Document

EXHIBIT 31.1

TECOGEN INC.
CERTIFICATION REQUIRED BY EXCHANGE ACT RULES 13a-14(a) and 15d-14(a),
AS ADOPTED PURSUANT TO
SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
 
I, Abinand Rangesh, certify that:

1.I have reviewed this Quarterly Report on Form 10-Q of Tecogen 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.
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: August 10, 2023

/s/ Abinand Rangesh    
Abinand Rangesh
Chief Executive and Financial Officer

EX-32.1 3 tgn-20230630xex321.htm EX-32.1 Document


EXHIBIT 32.1

TECOGEN INC.
CERTIFICATION REQUIRED BY EXCHANGE ACT RULES 13a-14(b) and 15d-14(b),
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
 
    I, Abinand Rangesh, Chief Executive and Financial Officer, of Tecogen Inc., or the Company, certify, pursuant to Section 1350, Chapter 63 of Title 18, United States Code that, to his knowledge:

1.The Quarterly Report on Form 10-Q of the Company for the quarter ended June 30, 2023 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78 m or 78o(d)); and
2.The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.



Date: August 10, 2023

/s/ Abinand Rangesh    
Abinand Rangesh
Chief Executive and Financial Officer



EX-101.SCH 4 tgen-20230630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Condensed Consolidated Statements of Stockholders' Equity Statement link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000007 - Disclosure - Description of business and basis of presentation link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Income (Loss) Per Common Share link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Inventories, net link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Property, Plant and Equipment, net link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Sale of Energy Producing Assets and Goodwill Impairment link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Notes Payable (Notes) link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Commitments and contingencies link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Segments link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Aegis Contract and Related Asset Acquisition link:presentationLink link:calculationLink link:definitionLink 9954701 - Disclosure - Description of business and basis of presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 9954702 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954703 - Disclosure - Loss Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954704 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 9954705 - Disclosure - Property, Plant and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 9954706 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 9954707 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954708 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954709 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954710 - Disclosure - Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954711 - Disclosure - Aegis Contract and Related Asset Acquisition (Tables) link:presentationLink link:calculationLink link:definitionLink 9954712 - Disclosure - Description of business and basis of presentation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954713 - Disclosure - Revenue - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954714 - Disclosure - Revenue - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954715 - Disclosure - Loss Per Common Share - Schedule of Income (Loss) Per Common Share, Basic and Diluted (Details) link:presentationLink link:calculationLink link:definitionLink 9954716 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 9954717 - Disclosure - Property, Plant and Equipment - Summary of Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 9954718 - Disclosure - Property, Plant and Equipment - Depreciation (Details) link:presentationLink link:calculationLink link:definitionLink 9954719 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill -Amounts related to intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954721 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill - Future Amortization of Customer Contracts (Details) link:presentationLink link:calculationLink link:definitionLink 9954722 - Disclosure - Sale of Energy Producing Assets and Goodwill Impairment (Details) link:presentationLink link:calculationLink link:definitionLink 9954723 - Disclosure - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954724 - Disclosure - Leases - Assets and Liabilities, Lessee (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Leases - Future Minimum Lease Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Leases - Future Minimum Lease Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 9954726 - Disclosure - Stock-Based Compensation - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954728 - Disclosure - Fair Value Measurements - Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Fair Value Measurements - Change in Level 2 Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954730 - Disclosure - Notes Payable (Details) link:presentationLink link:calculationLink link:definitionLink 9954731 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 9954732 - Disclosure - Segments (Details) link:presentationLink link:calculationLink link:definitionLink 9954733 - Disclosure - Aegis Contract and Related Asset Acquisition (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 5 tgen-20230630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 6 tgen-20230630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 7 tgen-20230630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Payment term on energy production contract invoices Payment Term on Energy Production Contract Invoices Payment Term on Energy Production Contract Invoices Consolidated Entities [Axis] Consolidated Entities [Axis] Income attributable to the non-controlling interest Net income Net Income (Loss) Attributable to Noncontrolling Interest Share-based Payment Arrangement, Nonemployee Share-Based Payment Arrangement, Nonemployee [Member] Accrued expenses Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Research and development Research and Development Expense Accrued interest received Interest Income, Other Award Type [Domain] Award Type [Domain] Lease term Lessee, Operating Lease, Remaining Lease Term Employee retention credit Employee Retention Credit Employee Retention Credit Employee Retention Credit Notes Payable Debt Disclosure [Text Block] Impairment of intangible asset Impairment of Intangible Assets (Excluding Goodwill) Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Assets acquired Number of Assets Acquired Number of Assets Acquired Year 2 Finite-Lived Intangible Liability, Expected Amortization, Year One Finite-Lived Intangible Liability, Expected Amortization, Year One Maintenance services Maintenance Services [Member] Maintenance Services [Member] Segment Reporting [Abstract] Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Discontinued Operations and Disposal Groups [Abstract] Discontinued Operations and Disposal Groups [Abstract] Year 1 Finite-Lived Intangible Liability, Expected Amortization, Remainder of Fiscal Year Finite-Lived Intangible Liability, Expected Amortization, Remainder of Fiscal Year Ownerhsip interest in American DG New York, LLC (percent) Percentage Of Owned Joint Venture Percentage Of Owned Joint Venture. Energy production Energy Production [Member] Energy Production [Member] Commitments and contingencies (Note 12) Commitments and Contingencies Exercisable (shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number Thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Four Lessee, Operating Lease, Liability, to be Paid, after Year Four Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Deferred revenue, current Deferred Revenue, Current Public Utility [Axis] Public Utility [Axis] Unfavorable contract liability, net of current portion Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Financial Liabilities Vested and expected to vest, Aggregate Intrinsic Value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Year 3 Finite-Lived Intangible Liability, Expected Amortization, Year Two Finite-Lived Intangible Liability, Expected Amortization, Year Two Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Deferred revenue Increase (Decrease) in Contract with Customer, Liability American DG Energy, Inc. American DG Energy [Member] American DG Energy [Member] Current liabilities: Liabilities, Current [Abstract] Performance obligation revenue expected to be recognized over the next 24 months (percent) Performance Obligation Recognized over Next Two Years, Percent Performance Obligation Recognized over Next Two Years, Percent Intersegment Eliminations Intersegment Eliminations [Member] Business Acquisition [Line Items] Business Acquisition [Line Items] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Assets and Liabilities, Lessee Assets and Liabilities, Lessee [Table Text Block] Assets and Liabilities, Lessee Net income (loss) per share - diluted (in usd per share) Earnings Per Share, Diluted Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Vested and expected to vest (usd per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Number of sales of energy producing assets Number of Sales of Energy Producing Assets Number of Sales of Energy Producing Assets Extinguishment of debt, amount Extinguishment of Debt, Amount Level 3 Fair Value, Inputs, Level 3 [Member] Beginning (shares) Ending (shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Contract-related Intangibles [Abstract] Contract-related Intangibles [Abstract] Contract-related Intangibles Measurement Input, WACC Measurement Input, WACC [Member] Measurement Input, WACC Granted (usd per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted average grant date fair value (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Net loss attributable to Tecogen Inc. Net loss available to stockholders Net Income (Loss) Total current liabilities Liabilities, Current Net identifiable assets acquired Asset Acquisition, Assets Acquired and Liabilities Assumed, Net Asset Acquisition, Assets Acquired and Liabilities Assumed, Net Nonqualified Options Nonqualified Options [Member] Nonqualified Options Property and equipment, net, before construction in progress Property, Plant And Equipment, Net, Before Public Utilities, Contruction Work In Progress Property, Plant And Equipment, Net, Before Public Utilities Contruction Work In Progress Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Indefinite-lived Intangible Assets, Major Class Name [Domain] Indefinite-Lived Intangible Assets, Major Class Name [Domain] Machinery and equipment Machinery and Equipment [Member] Leases Lessee, Operating Leases [Text Block] Intangible assets Intangible Assets, Gross (Excluding Goodwill) Canceled and forfeited (shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Tecogen Inc. shareholders’ equity: Equity, Attributable to Parent [Abstract] Exercised (shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Contingent consideration Asset Acquisition, Consideration Transferred, Contingent Consideration, Current Asset Acquisition, Consideration Transferred, Contingent Consideration, Current Schedule of Income (Loss) Per Common Share, Basic and Diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Total cost of sales Cost of Goods and Services Sold Consideration received Proceeds from Sale of Productive Assets Exercise price per share, Granted (dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Granted in Period, Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Granted in Period, Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Patents Patents [Member] Year 5 Finite-Lived Intangible Liability, Expected Amortization, Year Four Finite-Lived Intangible Liability, Expected Amortization, Year Four Guarantee liability Guarantor Obligations, Maximum Exposure, Undiscounted Goodwill Goodwill Summary of Property, Plant and Equipment Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Accrued expenses and other current liabilities Increase (Decrease) in Accrued Liabilities Performance obligation revenue to be recognized in first 12 months (percent) Performance Obligation Recognized over Next Twelve Months, Percent Performance Obligation Recognized over Next Twelve Months, Percent Number of shares remaining available for future issuance Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Measurement Basis [Axis] Measurement Basis [Axis] Asset Acquisition [Domain] Asset Acquisition [Domain] Granted (shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Entity Small Business Entity Small Business Year 5 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Fair Value Measurement [Domain] Fair Value Measurement [Domain] Forecast Forecast [Member] Measurement Frequency [Axis] Measurement Frequency [Axis] Square feet of lease Lessee, Operating Lease, Square Feet Lessee, Operating Lease, Square Feet Operating Lease, Liability, Noncurrent Operating Lease, Liability, Noncurrent Proceeds from disposition of assets Proceeds from Sale of Other Productive Assets Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Payment term on contractually determined milestones Payment Term on Contractually Determined Milestones Payment Term on Contractually Determined Milestones Trademarks Trademarks [Member] Portion at Fair Value Measurement [Member] Portion at Fair Value Measurement [Member] Line of Credit Facility [Table] Line of Credit Facility [Table] Lease improvement costs Payments for Leasing Costs, Commissions, and Tenant Improvements Future Minimum Lease Commitments Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Stock options Weighted Average Number of Shares Outstanding, Diluted, Adjustment Changes in operating assets and liabilities Increase (Decrease) in Operating Assets [Abstract] Asset Acquisition Asset Acquisition [Table Text Block] PPP Loan Program PPP Loan Program [Member] PPP Loan Program Product and Service [Domain] Product and Service [Domain] Grantee Status [Axis] Grantee Status [Axis] Supplemental Information Related to Leases Lease, Cost [Table Text Block] Inventory Increase (Decrease) in Inventories Intangible Assets, Measurement Input Intangible Assets, Measurement Input Intangible Assets, Measurement Input Unbilled revenue Contract with Customer, Asset, after Allowance for Credit Loss, Current CASH FLOWS FROM INVESTING ACTIVITIES: Net Cash Provided by (Used in) Investing Activities [Abstract] Unfavorable contract liability, current Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Financial Liabilities, Current Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Financial Liabilities, Current Fair value of options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value Award Type [Axis] Award Type [Axis] Anti-dilutive shares underlying stock options outstanding Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Interest expense Interest Expense Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Gain on extinguishment of debt Gain on extinguishment of debt Gain (Loss) on Extinguishment of Debt Identifiable intangible asset - customer contracts Finite-Lived Intangible Assets Acquired Property and equipment, gross Property, Plant and Equipment, Gross Weighted Average Remaining Life Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Right-of-use assets obtained in exchange for operating lease liabilities Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Year 1 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Revenue billed this period that had been recognized in previous periods Contract with Customer, Performance Obligation Satisfied in Previous Period Use of Estimates Use of Estimates, Policy [Policy Text Block] Net credit to cost of sales for amortization of contract related intangible assets and liabilities Amortization of Contract Related Intangible Assets and Liabilities, Net Amortization of Contract Related Intangible Assets and Liabilities, Net Entity File Number Entity File Number Loss Contingencies [Table] Loss Contingencies [Table] 2022 Stock Incentive Plan 2022 Stock Incentive Plan [Member] 2022 Stock Incentive Plan Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Measurement Input, Discount Rate Measurement Input, Discount Rate [Member] Operating Lease, Liability, Current Operating Lease, Liability, Current Employees acquired Number of Employees Acquired Number of Employees Acquired Computer software Computer Software, Intangible Asset [Member] Deferred revenue, net of current portion Deferred Revenue, Noncurrent Amortization of intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company Year 4 Lessee, Operating Lease, Liability, to be Paid, Year Three Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Intangible assets, net Total Finite-Lived Intangible Assets, Net Cash and cash equivalents, beginning of the period Cash and cash equivalents, end of the period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Less - accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Year 3 Lessee, Operating Lease, Liability, to be Paid, Year Two Common stock, shares issued Common Stock, Shares, Issued Gross profit Gross profit Gross Profit Aegis Energy Services, LLC Aegis Energy Services, LLC [Member] Aegis Energy Services, LLC Assets, Fair Value Disclosure Assets, Fair Value Disclosure Total operating expenses Selling, General and Administrative Expense Stock Options Employee Stock Option [Member] Compensation cost not yet recognized, period for recognition Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Asset Acquisition [Table] Asset Acquisition [Table] Maximum Maximum [Member] Compensation cost not yet recognized, amount Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type Goodwill Goodwill, Acquired During Period Eurosite Power, Inc. Eurosite Power Inc [Member] EuroSite Power Inc. Entity Address, Address Line One Entity Address, Address Line One Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Performance obligation revenue to be recognized over the subsequent 12 months (percent) Performance Obligation Recognized in Year Two, Percent Performance Obligation Recognized in Year Two, Percent Selling Selling Expense Weighted Average Exercise Price [Roll Forward] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Business Acquisition [Axis] Business Acquisition [Axis] Products Products Segment [Member] Products Segment Ownership interest (percent) Subsidiary or Equity Method Investee, Cumulative Percentage Ownership after All Transactions Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Lease obligations, current Other Liabilities, Current Income Statement [Abstract] Income Statement [Abstract] Unbilled revenue Increase (Decrease) in Contract with Customer, Asset Accrued interest forgiven Debt Instrument, Decrease, Forgiveness of Accrued Interest Debt Instrument, Decrease, Forgiveness of Accrued Interest Asset Acquisition [Line Items] Asset Acquisition [Line Items] Aegis Contract and Related Asset Acquisition Business Combination Disclosure [Text Block] Schedule of Fair Value, Measured on Recurring Basis, Gain (Loss) Included in Earnings Fair Value, Measured on Recurring Basis, Gain (Loss) Included in Earnings [Table Text Block] Net income (loss) Business Acquisition, Pro Forma Net Income (Loss) Operating Segments Operating Segments [Member] Property, plant and equipment Asset Acquisition, Property, Plant and Equipment Asset Acquisition, Property, Plant and Equipment Inventory Asset Acquisition, Inventory Asset Acquisition, Inventory Entity Tax Identification Number Entity Tax Identification Number Inventories, net Inventories, net Inventory, Net Lease cost Lease, Cost Distributions to non-controlling interest Payments to Noncontrolling Interests, Investing Activities Payments to Noncontrolling Interests, Investing Activities Statistical Measurement [Axis] Statistical Measurement [Axis] Decrease in gross receipts in quarter (percent) Decrease in Gross Receipts Decrease in Gross Receipts Sale of Energy Producing Assets and Goodwill Impairment Disposal Groups, Including Discontinued Operations, Disclosure [Text Block] Customer Contracts Customer Contracts [Member] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Products Product [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Non-cash investing and financing activities: Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] Inventory Disclosure [Abstract] Interest and other income (expense), net Interest and Other Income (Expense) Interest and Other Income (Expense) Segments [Domain] Segments [Domain] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Gain on termination of unfavorable contract liability Gain on termination of unfavorable contract liability Gain on termination of unfavorable contract liability Gain (Loss) on Contract Termination Payment term on product sales Payment Term on Product Sales Payment Term on Product Sales Consolidation Items [Domain] Consolidation Items [Domain] Accumulated deficit Retained Earnings (Accumulated Deficit) Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Increase (decrease) in: Increase (Decrease) in Operating Liabilities [Abstract] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Leases [Abstract] Leases [Abstract] Entity Address, State or Province Entity Address, State or Province Exercise Price, Canceled and Forfeited (dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancelled and Forfeited in Period, Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancelled and Forfeited in Period, Exercise Price CASH FLOWS FROM OPERATING ACTIVITIES: Net Cash Provided by (Used in) Operating Activities [Abstract] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Year 2 Finite-Lived Intangible Asset, Expected Amortization, Year One Cash paid for amounts included in the measurement of operating lease liabilities Operating Lease, Payments Unrealized gain (loss) on investment securities Unrealized gain on investment securities OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax Common stock, shares outstanding Common Stock, Shares, Outstanding Other income (expense) Other Income and Expenses [Abstract] Beginning balance (shares) Ending balance (shares) Shares, Outstanding Common stock, par value Common Stock, Par or Stated Value Per Share Accounts receivable credit issued Asset Acquisition, Consideration Transferred, Other Assets Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Schedule of Inventory Schedule of Inventory, Current [Table Text Block] Stock Options Outstanding [Roll Forward] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Debt Instrument [Axis] Debt Instrument [Axis] Guarantee of obligations of Eurosite Power, Inc. Guarantees, Fair Value Disclosure Total Operating Lease, Liability Measurement Input Type [Domain] Measurement Input Type [Domain] Total liabilities Liabilities Services Service [Member] TTcogen Intangible Assets TTcogen Intangible Assets [Member] TTcogen Intangible Assets [Member] Principles of Consolidation and Basis of Presentation Principles Of Consolidation and Basis Of Presentation [Policy Text Block] Disclosure of accounting policy for principles of consolidation and basis of presentation. Asset Acquisition [Axis] Asset Acquisition [Axis] Stock-Based Compensation Shareholders' Equity and Share-Based Payments [Text Block] Measurement Frequency [Domain] Measurement Frequency [Domain] Shares of common stock reserved for future issuance Common Stock, Capital Shares Reserved for Future Issuance Property, Plant and Equipment, net Property, Plant and Equipment Disclosure [Text Block] Account payable Asset Acquisition, Consideration Transferred, Accounts Payable Asset Acquisition, Consideration Transferred, Accounts Payable Long-term liabilities: Liabilities, Noncurrent [Abstract] Plan Name [Axis] Plan Name [Axis] Debt Disclosure [Abstract] Debt Disclosure [Abstract] Thereafter Finite-Lived Intangible Liability, Expected Amortization, after Year Four Finite-Lived Intangible Liability, Expected Amortization, after Year Four Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Employee retention credit receivable Employee Retention Credit, Current Employee Retention Credit, Current Earnings Per Share [Abstract] Earnings Per Share [Abstract] Common stock, $0.001 par value; 100,000,000 shares authorized; 24,850,261 and 24,850,261 issued and outstanding at June 30,2021 and December 31, 2020, respectively Common Stock, Value, Issued General and administrative General and Administrative Expense Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration] Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration] Provision for state income taxes Current State and Local Tax Expense (Benefit) Total current assets Assets, Current Supplemental disclosures of cash flows information: Supplemental Cash Flow Information [Abstract] Entity Filer Category Entity Filer Category Statement [Table] Statement [Table] Acquisition liabilities, net of current portion Business Combination, Contingent Consideration, Liability, Noncurrent Current Fiscal Year End Date Current Fiscal Year End Date Installation services Installation Services [Member] Installation Services [Member] Utility Plant [Domain] Utility Plant [Domain] Net cash provided by (used in) operating activities Net Cash Provided by (Used in) Operating Activities Exercisable, Aggregate Intrinsic Value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value Schedule of Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Acquisition liabilities, current Business Combination, Contingent Consideration, Liability, Current Description of business and basis of presentation Nature of Operations [Text Block] Depreciation and amortization, net Depreciation, Depletion and Amortization Furniture and fixtures Furniture and Fixtures [Member] Document and Entity Information [Abstract] Document and Entity Information [Abstract] Document and Entity Information [Abstract] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Business Combination and Asset Acquisition [Abstract] Total Tecogen Inc. stockholders’ equity Equity, Attributable to Parent Deferred revenue recognized Deferred Revenue, Revenue Recognized Gain on sale Debt Securities, Available-for-sale, Realized Gain Debt Securities, Available-for-Sale, Realized Gain Liabilities assumed, noncurrent Asset Acquisition, Liabilities Assumed, Noncurrent Asset Acquisition, Liabilities Assumed, Noncurrent Consolidation Items [Axis] Consolidation Items [Axis] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Total revenues Business Acquisition, Pro Forma Revenue Average number of employees Entity Number of Employees Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Canceled and forfeited (usd per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period, Weighted Average Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period, Weighted Average Exercise Price Subsequent Events [Abstract] Subsequent Events [Abstract] Loss before provision for state income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Depreciation and amortization expense Depreciation, Depletion and Amortization, Property, Plant and Equipment Depreciation, Depletion and Amortization, Property, Plant and Equipment Purchases of intangible assets Payments to Acquire Intangible Assets Contingent consideration Asset Acquisition, Consideration Transferred, Contingent Consideration Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Product Certifications Product Certification [Member] Product Certification [Member] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Tecogen Parent Company [Member] Share-based Payment Arrangement, Employee Share-Based Payment Arrangement, Employee [Member] Document Fiscal Period Focus Document Fiscal Period Focus Webster Business Credit Corporation Webster Business Credit Corporation [Member] Webster Business Credit Corporation [Member] Year 2 Lessee, Operating Lease, Liability, to be Paid, Year One Antidilutive Securities [Axis] Antidilutive Securities [Axis] Year 5 Lessee, Operating Lease, Liability, to be Paid, Year Four Beginning (usd per share) Ending (usd per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Rent expense Operating Lease, Expense Stock-based compensation Share-based Payment Arrangement, Noncash Expense Share-Based Payment Arrangement, Noncash Expense Common Stock Common Stock [Member] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Income (Loss) Per Common Share Earnings Per Share [Text Block] Product and Service [Axis] Product and Service [Axis] Proceeds from note payable Proceeds from Notes Payable Document Fiscal Year Focus Document Fiscal Year Focus Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract] Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Including Portion Attributable to Noncontrolling Interest Distributions to Noncontrolling interests Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders Minimum Minimum [Member] Property, plant and equipment, net Property, Plant and Equipment, Net Assets acquired Asset Acquisition, Assets Acquired Asset Acquisition, Assets Acquired Exercise Price Per Share, Outstanding, Minimum (per share) Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit Non-contract Related Intangibles [Abstract] Non-contract Related Intangibles [Abstract] Non-contract Related Intangibles Schedule of Stock Option Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] ASSETS Assets [Abstract] Non-contract Related Intangible Assets Non-contract Related Intangible Assets [Member] Non-contract Related Intangible Assets Unfavorable contract liability, net Intangible Liabilities, Net Intangible Liabilities, Net Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Contingent consideration Asset Acquisition, Consideration Transferred, Contingent Consideration, Noncurrent Asset Acquisition, Consideration Transferred, Contingent Consideration, Noncurrent Consolidated net loss Net income (loss) Consolidated net loss Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net cash provided by financing activities Net Cash Provided by (Used in) Financing Activities Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Four Finite-Lived Intangible Asset, Expected Amortization, after Year Four Developed Technology Developed Technology Rights [Member] Commitments and contingencies Commitments Contingencies and Guarantees [Text Block] Accumulated Deficit Retained Earnings [Member] Total Finite-Lived Intangible Liabilities, Net Finite-Lived Intangible Liabilities, Net TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity Other assets Other Assets, Noncurrent Net income (loss) per share - basic (in USD per share) Earnings Per Share, Basic Right of use assets Operating Lease, Right-of-Use Asset Accounting Policies [Abstract] Accounting Policies [Abstract] Gain on disposition of assets Gain (Loss) on Disposition of Assets Year 1 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year In Process R&D In Process Research and Development [Member] Entity Address, City or Town Entity Address, City or Town Favorable contract asset Contract-Based Intangible Assets [Member] Schedule of Segment Reporting Information Schedule of Segment Reporting Information, by Segment [Table Text Block] Cash paid for taxes Income Taxes Paid Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Document Transition Report Document Transition Report Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized Common Stock, Shares Authorized Available-for-sale equity securities Fair value, beginning Fair value, ending Debt Securities, Available-for-Sale Raw materials, net Inventory, Raw Materials, Gross Unfavorable contract liability Intangible Liability, Gross Intangible Liability, Gross Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Indefinite-lived Intangible Assets [Axis] Indefinite-Lived Intangible Assets [Axis] Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Adjustments to reconcile net loss to net cash provided by (used in) operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Deferred maintenance reserve Asset Acquisition, Reserves Asset Acquisition, Reserves Measurement Input Type [Axis] Measurement Input Type [Axis] Provision for doubtful accounts Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Liabilities assumed Asset Acquisition, Liabilities Assumed Asset Acquisition, Liabilities Assumed Employee retention credit receivable Increase (Decrease) in Other Receivables Liabilities assumed, current Asset Acquisition, Liabilities Assumed, Current Asset Acquisition, Liabilities Assumed, Current Income Taxes Income Tax, Policy [Policy Text Block] Prepaid and other current assets Prepaid Expense and Other Assets, Current Year 4 Finite-Lived Intangible Asset, Expected Amortization, Year Three Price (dollars per share) Share Price Outstanding, Aggregate Intrinsic Value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Contract Asset and Liability Contract Asset and Liability [Member] Contract Asset and Liability Deferred maintenance reserve Asset Acquisition, Reserves, Noncurrent Asset Acquisition, Reserves, Noncurrent Entity Registrant Name Entity Registrant Name Other assets Increase (Decrease) in Other Operating Assets Year 4 Finite-Lived Intangible Liability, Expected Amortization, Year Three Finite-Lived Intangible Liability, Expected Amortization, Year Three Year 3 Finite-Lived Intangible Asset, Expected Amortization, Year Two Exercise Price Per Share, Outstanding, Maximum (dollars per share) Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit Energy systems Energy Equipment [Member] Other liabilities Increase (Decrease) in Other Current Liabilities Non-controlling interest Equity, Attributable to Noncontrolling Interest Document Period End Date Document Period End Date Less - accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Exercisable (usd per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Corporate, other and elimination Corporate and Other [Member] Entity Central Index Key Entity Central Index Key Energy production Energy Service [Member] Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Effect of dilutive securities: Dilutive Securities, Effect on Basic Earnings Per Share [Abstract] Finished goods Inventory, Finished Goods, Net of Reserves Fair Value Measurements Fair Value Disclosures [Text Block] Number of business segments Number of operating divisions Number of Operating Segments Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Lender Name [Axis] Lender Name [Axis] Stockholders’ equity: Equity [Abstract] Inventories, net Inventory Disclosure [Text Block] Weighted-average remaining lease term - operating leases Operating Lease, Weighted Average Remaining Lease Term Total revenues Total revenue Revenue Revenue from Contract with Customer, Excluding Assessed Tax Entity [Domain] Entity [Domain] Amendment Flag Amendment Flag Intangible Assets and Liabilities Other Than Goodwill Intangible Assets Disclosure [Text Block] Legal Entity [Axis] Legal Entity [Axis] Deferred maintenance reserve Asset Acquisition, Reserves, Current Asset Acquisition, Reserves, Current Amended Plan Amended Stock Option and Incentive Plan 2006 [Member] Amended 2006 Stock Option and Incentive Plan [Member] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Payment for business acquisition Payments to Acquire Businesses, Net of Cash Acquired Weighted-average discount rate - operating leases (percent) Operating Lease, Weighted Average Discount Rate, Percent Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Total other income (expense), net Interest Income (Expense), Net Principal amount forgiven Debt Instrument, Decrease, Forgiveness Useful life - years Property, Plant and Equipment, Useful Life Damages sought Loss Contingency, Damages Sought, Value Leasehold improvements Leasehold Improvements [Member] Weighted average shares outstanding - diluted Weighted average shares outstanding - Diluted Weighted Average Number of Shares Outstanding, Diluted Maintenance services Services Segment [Member] Services Segment Grantee Status [Domain] Grantee Status [Domain] Cash Payments for Asset Acquisitions Payments for Asset Acquisitions Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Current Assets Increase (Decrease) in Prepaid Expense and Other Current Assets Operating expenses Operating Expenses [Abstract] Revenue Revenue from Contract with Customer [Text Block] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Additional Paid-In Capital Additional Paid-in Capital [Member] TOTAL ASSETS Assets Assets Loss Contingencies [Line Items] Loss Contingencies [Line Items] Subsequent Events Subsequent Events [Text Block] Stock based compensation expense APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Fair Value, Measurements, Recurring Fair Value, Recurring [Member] Lease obligations, net of current portion Other Liabilities, Noncurrent Notes payable Notes Payable to Bank Total lease payments Lessee, Operating Lease, Liability, to be Paid Remaining performance obligations Revenue, Remaining Performance Obligation, Amount Total fair value of consideration transferred Total fair value of consideration transferred Asset Acquisition, Consideration Transferred Segments Segment Reporting Disclosure [Text Block] Change in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect CASH FLOWS FROM FINANCING ACTIVITIES: Net Cash Provided by (Used in) Financing Activities [Abstract] Intangible asset impairment Goodwill and Intangible Asset Impairment Equity Component [Domain] Equity Component [Domain] Work-in-process Inventory, Work in Process, Net of Reserves Obligation under energy production contracts Contractual Obligation Scenario [Axis] Scenario [Axis] Weighted average shares outstanding - basic Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Unrealized gain (loss) Marketable Security, Unrealized Gain (Loss) Loss from operations Operating Income (Loss) Revenue Recognition [Abstract] Revenue Recognition [Abstract] Consolidated Entities [Domain] Consolidated Entities [Domain] Exercise Price Per Share [Abstract] Exercise Price Per Share [Abstract] Exercise Price Per Share [Abstract] Segments [Axis] Segments [Axis] Statement [Line Items] Statement [Line Items] Estimate of Fair Value Measurement Estimate of Fair Value Measurement [Member] Vested and expected to vest (shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number Less - accumulated amortization Finite-Lived Intangible Liabilities, Accumulated Amortization Finite-Lived Intangible Liabilities, Accumulated Amortization Scenario [Domain] Scenario [Domain] Number of energy producing sites sold Number of Energy Producing Sites Sold Number of Energy Producing Sites Sold Noncontrolling Interest Noncontrolling Interest [Member] EX-101.PRE 8 tgen-20230630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 9 tgen-20230630_g1.jpg GRAPHIC begin 644 tgen-20230630_g1.jpg M_]C_X 02D9)1@ ! 0$ D "0 #_VP!# 8$!08%! 8&!08'!P8("A *"@D) M"A0.#PP0%Q08&!<4%A8:'24?&ALC'!86("P@(R8G*2HI&1\M,"TH,"4H*2C_ MVP!# 0<'!PH("A,*"A,H&A8:*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H M*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"C_P 1" !3 -P# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#;^$7@&'Q) MYNI:NC'34)2.,-@RL.I)'8?SJ]\:/">C^'-)TR72;-8));@HS!B20$)[GZ5[ MEI>F6VEV:6MA"D%LGW8T& ,G->6?M&_\@/1_^OL_^@&O4HXN=;%)MZ'AU\!3 MP^#DK:]QOPT\!^'];\$V5Y?V(DN9"X:0.P)PY [^U7[ELQ M'MWQSVX%2J]7VTX)W3N.6'HJA3J/1JWS/3\@$BGD@?6O*]9NOB)H6FMJEQ^*Z?P'XRM/%FCO=QH;>: [;B%CG8<9SGN/>N)T9*'. MM4>E#$QE/DEH_,ZTD4F17E5QX]U;Q+KDFE>!K:#RXO\ 6WUT/D'.,@>F>!ZU M2\0^+_%7@:_LQXAET[5+6YW'$"&-P!C..W?WS[52PT[\O7L0\=22YNG<]CSQ M2$UR'B;Q[IFA>&K757WS?:T#6T2\-)QG\ .Y[5SFCW?Q!\16JZA;RZ5I5K,N M^&*2,NS+VR><#W_2I5"5N9Z+S*EBH4Z5\1;_2/$(T/QO;0V M\Q("7PCS3V*IXB$T MVNAU>129KAYI/%\&G&_:>R?:OF-;",YQZ9]:H:/XL\0ZN)/L%A92F/[P+%2/ MS-S1Z/G'6BN0U_Q5)IWV:SAMQ-J\RK^Z!^5"?7\:K7)\86 MMJUWYUA*5&][=(SG'H#ZU3Q,?LINPW55]#N,^]+FN,T;Q3/KFES?V9!"-3AQ MOAE8A3GN#6+#XYU*'7$M=5BMX(ED*2A$8MTX Y]/I4_@;Q=+K$SV6H(JW2@LK(,!@.O M'K5+%0YE%]05:-^4[?K25#+=0P*&GD2-2< NP%1+?VLQ"17,+N>@#@DUNY): M-FET6E89/3WIV:\X\*>);UVUVYU&1KB*T7S%0 # RW _ "K-O\2;!YE66SN8 MD)P6R#C]>E,UZ!'G:,]:WIU5-NR+C+F'T445J4%>/?M'?\@/1_^OL_^@&O7V/' M%>._M&2*='T=-P+FY8@?\ _^N*Z\#_'B<&9NV&E]DC=BL+#R M[^9Z=J/BW5[RPN;9O!>K8FC:,Y9,3Z?::]X4\->(I+RSN+*.[ACMU9^, MEGP?_'2?SKZ:#*R[E((QP:\S^(^H6_BC2]:T#2EDN;NRA6Z:1.8PRMGR\_WL M \5AAJZB^11LG:YTXW#^[[1SO);%3]G:SC'AS4KO \R2Z\O/?:J@@?FQKH?B M-X!3QC)92?;6M)+7*@[-X93@GC(P>*XG]GO7H($OM&N) DDD@GA4\;N,,!^0 MKV6^O8+&TEN;N5(;>)2SR.SL1;V$>[C@[=Q_'=7TS#"L4<:1@*B *% P !7S1\0IVE\26?BJPMIEL[R1 M9H3*N,O&<'CT.T$'OGVKZ0TR]AU&PM[RU??#,@D0^H/-5C+NG3:[?B9YU>[#S0^2D;.1G_5 ML5(/X <^]6_V@-2%WJ&DZ-:YEN$)E=$Y.YL!!]3S^=;NI)-X8\%Z%H4RK^]B MQ=2;-VTY!8*#QG)/Y5QYE&+P,>??@W.IV@T22]\Y#;F$L".A MXK@_A1:S&^O+P BV\OR\]F;.?Q_^O5NTM/!3V\8:ZX'S;))G SWXKK]'O='> M);72I[4A1Q'$P_E7DI>UG&3DM-CTTO:-2;V/,-$U":7QE-?M:2WLVYV6./&1 M_"#SZ#BN[;Q#J#(0/#M_R..F[TS7G6X#XIYS@?:?\ MV6IJTXTH0A%W]XF<5!12[GK.T#ITKRGPJH3XC7"H JB68 #IWKU;/R^V*\H\ M,_\ )2+C_KM-_6M\7\5/U-JUKQ.[\4>&X/$,,*SRRQ>2Q92F.<^H-96C^ [/ M2]1@O8[J=WB)958+@Y!'I[UK>*O$D'AZ.!KB&:7SB0H0# Q]:R]%\=6FJZI% M916MPCRY 9BN. 3Z^U:5/8.I[WQ!+V?-KN<=X;_Y!GBO_K@?YM7)XKK/#O\ MR#?%?_7$_P WKDZ\#$;1^?YGGU-D>P^&=3L;#PMI O[E(C)'A-YZX/\ ^JNH MMKB.XC5X)%D0]&4Y!KD-%\/V>N>#M)2_1\I%E2&((R?_ *PK&N_#6L^&I'NO M#]S)+!]YXL<\>J]&_G7NQJ5*4$W&ZM\ST%.44M-#U"BN6\(>*H==A\I_W5\@ M^>/U]Q[5TWIS77"I&I'FCL:QDI*Z*^J6TEYI\T$5Q+;22+M66+&Y#ZC->*L2W:207R+L6XBX;'8$=#7:44W M7J.7-?42PM)0Y.70\IL?ACJUK"+4>+]473^GDQY7CTSNX_*NW\+^&=.\-Z?] MDTV JC$L[L=S2-ZDFM^BE.K.>["GAJ=/6*/,/$GPCTS4K]KW3+F?3+EG\P^4 M,KN]0,@@_0U):_#.6Y>,>)=?U+6+>,@K;R.5C)']X9R:]+HJGB*C5FR?J='F MYK&)K7AW3M9TC^SK^U1K4 !$48\O'0KZ8KD;#P%K6BQ-:Z#XIN+:P+96&:W6 M;9[*21C\L5Z30:A5))6OH7/#TYOF:U.#\-_#NQTG56U;4;B;4]5+;S<3]F]0 MM4_$6JRZ_KW_ C]K#;^2KE7EE3<00.2H[8KT9AFO/M<\+:E:^(FUG0FC>1F MWM$YP/I79PZYXB$>V7PXYDZ96X7%4;C0-6\2WD,VO> M5:VD1W+;1MN)]ZM36NM#M/$^D64U\C)<&)6$J<%WL9)89YN7N<[I"?7)K%?X>V[W/VAM1O#,6#ER5W;O7.*[ MJBG+"TY*S0W3B]T8CZ/YIRVD$;;HX(U8= M"J@47U[!91H]PVQ7=8P?1^=6+?X;V:3*TUU/*@.2F ,_C7?T5SQP5*R35[&:HQM8BMH4M[=(HEV1H MH55'8"I".*6BNI))61J>:>.M(?1[R+7M)S$ZR?O0O3)[_0]"*[?1M2BU'3+> M[3I*N2!V/W5G:72SRS-:R&.1BBC M:-PYQS7J0CS.QM4J>SC<[S?2[J\HN-5U#P_K6FK=:I)J<5MH]S-(ROM6=E8; M20#@D#C-6])\?:C?:5?3?9K!98(X94D,C)"HD/S!BPZKZ#KGBM/82M=&'URF MG:6YZ9NHW5Y8GQ%U*>QLC:V=H]U/=7-L69G5"(4W;@,9&1V-:^O:[B.[#4NZO++'7+S1-'MYK2#6);B M]O8+0#6Y21EP1N0C/RTMU\1;^/2M/F%M91W4XN2X=F*'R6V[5P,Y8],]*?L) MO8GZ[37Q:'J>:,UYE-\0=16:_>/3H_LUEIR7TF]B'!="0N,<\C'YT6?CW4]T MZWUG:J+>:S21XW) 2<$[N>A''YT>PF'UREW/3"U-SDURL.K7^M>#M0O+5HK. MX?STMI2?E 5BJ.2?7&?QKA?#'B&ZT+3=6N+F[OYK^VMD,NFZA(6(E+ >:C_\ M\R3VX&14QI-W*GB8P:36C/8PV?:G=/6O,-3\2ZG5K^)) QRI@7Y3T[U2H3>Q/UR"5SU#=BE!S7 MDVF>)[ZTM--OM1DDN)DT![Z0"4A)2"N,KTW$'K^56[CQ]JME:WJ7-E9F]MYK M5%".PC99\8))&P)_I4?@SQI#)M9M7#1ZC=9=K2^"1W:C*E> X]O>NT_AKTZ56-6/-!G5":FKHCF8)&[-PH&2:\ M#BTVZU1IKBUCW(9&&?KS_45ZI\1=7&G:%)"K 3W0,2C/13]YORI_@;1_L?AV M 3*1+,3*P(QC/3] *\[&4GB:GLH]#FQ$/:OE70ZKM7.>*O#":[+97$=W<6-[ M:%_)N( "P####!!&#Q^5='BEQ7KJ3B[HZ9P4U9G$0?#[3(5M(Q)GV.%M_A[:1M;L]]=RO#<3W.YBOSM,NUL\=.XK4?PK;-X-_X1L33BV$'D>; MQOQZ],9KIL4F*3G)[L:H4XW26YQW_"&-+;6T-_K%]>+;7<5U$90@VF/.%X4< M'//TJO-X!A%G;PV>I7EK+$;@"9%5F*S-N=<$8Z]#U%=SB@ U7M9K9DO#4WNC MBY_!%L+;5_+>:5KZP2R,,@X']VO8,&@"FJTDK$SPM.3NSGK#PY"G@V'0;H;X?LHMY2 MO&[C!(_'FL*#XU6S660J#%$I! & !G(')R:[[%+BI522V- M'0A*R:V.+B\#P[%-U?W5S<_;H[YYF"J79%VJ, 8 QCIZ57MOAY:0:I)=B^NV M4OGOIN2%! M,3'.>!U &?:HA\/;>2UG2^U&[N9YYH)7F944XAQL7 &..?6N[HQ2]K/N/Z MO3['!77P^@EM)8(-2O(!+-/))@*P99<;E((([<'&179:;9I865O:P[C'"BQJ M6.3@# R?PJWBC%*4Y25FRH4H0=XH*0TM%2:&)XNT]M3\/WEN@RY7<@QW'(_E M7AUO*89/G3[#U%>3F6&E4 M2J06J.3%4W+WDPVK@=1D^W:O4O$'B>QT6W/FR++<8^6",Y;/OZ"O+K6_UW6[R.SBO;J5I M#@@-A5'TF\\4:Q_;&M*RVJ$>5&1PWH /3^=>EKP,4)&$4*H ["G$'MBO4HT/91MN MSJA!17F.HHHKH+"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "HV&5YYHHH!['(^,="TR2REN6M(Q< 9WKE2?KCK7E.FQ)/K"02C=$2 5S1 M17SN/2556/.KI'24-#NI_"+111 M6Y9__]FY]Q12?@:*[->QJ/HHHJ@"BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "D:BB@#G/$/A73M9R\R&*?'^MCX/X]C^->5^*-&_L2X,? MGF<=LKMQ^IHHKQLSI04>9+4X<3"-KV+O@_PW'KB^9-YHHK3+*<5'FMJ7A8JUS0%%%%>J=84444 ?__9 end XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Cover
6 Months Ended
Jun. 30, 2023
shares
Document and Entity Information [Abstract]  
Document Type 10-Q
Document Quarterly Report true
Document Period End Date Jun. 30, 2023
Document Transition Report false
Entity File Number 001-36103
Entity Registrant Name TECOGEN INC.
Entity Incorporation, State or Country Code DE
Entity Tax Identification Number 04-3536131
Entity Address, Address Line One 45 First Avenue
Entity Address, City or Town Waltham
Entity Address, State or Province MA
Entity Address, Postal Zip Code 02451
City Area Code 781
Local Phone Number 466-6402
Entity Current Reporting Status Yes
Entity Interactive Data Current Yes
Entity Filer Category Non-accelerated Filer
Entity Small Business true
Entity Emerging Growth Company false
Entity Shell Company false
Entity Common Stock, Shares Outstanding 24,850,261
Entity Central Index Key 0001537435
Current Fiscal Year End Date --12-31
Document Fiscal Year Focus 2023
Document Fiscal Period Focus Q2
Amendment Flag false
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Balance Sheets - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Jun. 30, 2022
Current assets:      
Cash and cash equivalents $ 1,871,063 $ 1,913,969  
Accounts receivable, net 5,614,291 6,714,122  
Unbilled revenue 1,748,336 1,805,330  
Employee retention credit receivable 46,148 713,269  
Inventories, net 12,027,525 10,482,729  
Prepaid and other current assets 467,390 401,189  
Total current assets 21,774,753 22,030,608  
Property, plant and equipment, net 1,352,318 1,407,720  
Right of use assets 920,690 1,245,549  
Intangible assets, net 2,421,379 997,594  
Goodwill 3,129,147 2,406,156  
Other assets 201,898 165,230  
TOTAL ASSETS 29,800,185 28,252,857 $ 30,333,724
Current liabilities:      
Accounts payable 4,212,914 3,261,952  
Accrued expenses 2,554,000 2,384,447  
Deferred revenue, current 2,086,174 1,115,627  
Lease obligations, current 513,811 687,589  
Acquisition liabilities, current 649,241 0  
Unfavorable contract liability, current 213,559   236,705
Total current liabilities 10,229,699 7,686,320  
Long-term liabilities:      
Deferred revenue, net of current portion 154,149 371,823  
Lease obligations, net of current portion 459,372 623,452  
Acquisition liabilities, net of current portion 1,643,567 0  
Unfavorable contract liability, net of current portion 490,802 583,512  
Total liabilities 12,977,589 9,265,107  
Commitments and contingencies (Note 12)  
Tecogen Inc. shareholders’ equity:      
Common stock, $0.001 par value; 100,000,000 shares authorized; 24,850,261 and 24,850,261 issued and outstanding at June 30,2021 and December 31, 2020, respectively 24,850 24,850  
Additional paid-in capital 57,456,945 57,351,008  
Accumulated deficit (40,551,687) (38,281,548)  
Total Tecogen Inc. stockholders’ equity 16,930,108 19,094,310  
Non-controlling interest (107,512) (106,560)  
Total stockholders’ equity 16,822,596 18,987,750 $ 20,542,673
TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY $ 29,800,185 $ 28,252,857  
Common stock, shares outstanding 24,850,261 24,850,261  
Common stock, shares issued   24,850,261  
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares
Jun. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Common stock, par value $ 0.001 $ 0.001
Common stock, shares authorized 100,000,000 100,000,000
Common stock, shares issued   24,850,261
Common stock, shares outstanding 24,850,261 24,850,261
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Operations - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Total revenues $ 6,748,758 $ 6,414,593 $ 12,128,576 $ 13,852,916
Total cost of sales 3,914,332 3,711,144 7,202,241 8,058,678
Gross profit 2,834,426 2,703,449 4,926,335 5,794,238
Operating expenses        
General and administrative 2,917,283 2,824,832 5,709,766 5,298,735
Selling 480,786 503,601 1,000,856 1,004,692
Research and development 236,556 194,853 465,658 334,988
Gain on disposition of assets (19,950) (2,500) (19,950) (36,445)
Gain on termination of unfavorable contract liability     0 (71,375)
Total operating expenses 3,614,675 3,520,786 7,156,330 6,530,595
Loss from operations (780,249) (817,337) (2,229,995) (736,357)
Other income (expense)        
Interest and other income (expense), net (21,061) (1,265) (20,231) (15,416)
Interest expense (1,857) (12,733) (2,272) (13,561)
Unrealized gain (loss) on investment securities 37,497 0 37,497 37,497
Total other income (expense), net 14,579 (13,998) 14,994 8,520
Loss before provision for state income taxes (765,670) (831,335) (2,215,001) (727,837)
Provision for state income taxes 9,614 6,500 32,252 10,430
Consolidated net loss (775,284) (837,835) (2,247,253) (738,267)
Income attributable to the non-controlling interest (4,826) (18,383) (22,886) (28,542)
Net loss attributable to Tecogen Inc. $ (780,110) $ (856,218) $ (2,270,139) $ (766,809)
Earnings Per Share [Abstract]        
Net income (loss) per share - basic (in USD per share) $ (0.03) $ (0.03) $ (0.09) $ (0.03)
Net income (loss) per share - diluted (in usd per share) $ (0.03) $ (0.03) $ (0.09) $ (0.03)
Weighted average shares outstanding - basic 24,850,261 24,850,261 24,850,261 24,850,261
Weighted average shares outstanding - diluted 24,850,261 24,850,261 24,850,261 24,850,261
Products        
Total revenues $ 2,445,631 $ 3,010,115 $ 4,155,767 $ 6,949,596
Total cost of sales 1,618,456 2,015,466 2,831,024 4,660,221
Services        
Total revenues 3,952,971 3,050,191 7,089,144 5,967,471
Total cost of sales 2,075,869 1,473,586 3,813,471 2,840,338
Energy production        
Total revenues 350,156 354,287 883,665 935,849
Total cost of sales $ 220,007 $ 222,092 $ 557,746 $ 558,119
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Stockholders' Equity Statement - USD ($)
Total
Common Stock
Additional Paid-In Capital
Accumulated Deficit
Noncontrolling Interest
Beginning balance (shares) at Dec. 31, 2021   24,850,261      
Beginning balance at Dec. 31, 2021 $ 21,128,149 $ 24,850 $ 57,016,859 $ (35,833,621) $ (79,939)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock based compensation expense 185,600   185,600    
Distributions to Noncontrolling interests (32,809)       32,809
Net income (28,542)     766,809  
Net income (loss) (738,267)       28,542
Ending balance (shares) at Jun. 30, 2022   24,850,261      
Ending balance at Jun. 30, 2022 20,542,673 $ 24,850 57,202,459 (36,600,430) (84,206)
Beginning balance (shares) at Mar. 31, 2022   24,850,261      
Beginning balance at Mar. 31, 2022 21,307,784 $ 24,850 57,112,566 (35,744,212) (85,420)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock based compensation expense 89,893   89,893    
Distributions to Noncontrolling interests (17,169)       17,169
Net income (18,383)     856,218  
Net income (loss) (837,835)       18,383
Ending balance (shares) at Jun. 30, 2022   24,850,261      
Ending balance at Jun. 30, 2022 20,542,673 $ 24,850 57,202,459 (36,600,430) (84,206)
Beginning balance (shares) at Dec. 31, 2022   24,850,261      
Beginning balance at Dec. 31, 2022 18,987,750 $ 24,850 57,351,008 (38,281,548) (106,560)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock based compensation expense 105,937   105,937    
Distributions to Noncontrolling interests (23,838)       23,838
Net income (22,886)     2,270,139  
Net income (loss) (2,247,253)       22,886
Ending balance (shares) at Jun. 30, 2023   24,850,261      
Ending balance at Jun. 30, 2023 16,822,596 $ 24,850 57,456,945 (40,551,687) (107,512)
Beginning balance (shares) at Mar. 31, 2023   24,850,261      
Beginning balance at Mar. 31, 2023 17,593,129 $ 24,850 57,428,356 (39,771,577) (88,500)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock based compensation expense 28,589   28,589    
Distributions to Noncontrolling interests (23,838)       (23,838)
Net income (4,826)     780,110  
Net income (loss) (775,284)       4,826
Ending balance (shares) at Jun. 30, 2023   24,850,261      
Ending balance at Jun. 30, 2023 $ 16,822,596 $ 24,850 $ 57,456,945 $ (40,551,687) $ (107,512)
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Cash Flows - USD ($)
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
CASH FLOWS FROM OPERATING ACTIVITIES:    
Consolidated net loss $ (2,247,253) $ (738,267)
Adjustments to reconcile net loss to net cash provided by (used in) operating activities:    
Depreciation and amortization, net 291,095 217,718
Stock-based compensation 105,937 185,600
Provision for doubtful accounts 44,000 46,000
Gain on disposition of assets (19,950) (36,445)
Unrealized gain on investment securities (37,497) (37,497)
Gain on termination of unfavorable contract liability 0 (71,375)
Changes in operating assets and liabilities    
Accounts receivable 755,831 (444,541)
Employee retention credit receivable 667,121 562,752
Unbilled revenue 56,994 1,117,057
Inventory (1,133,618) (438,102)
Prepaid expenses and other current assets (66,201) (22,618)
Other assets 325,688 308,282
Increase (decrease) in:    
Accounts payable 839,784 (247,876)
Accrued expenses and other current liabilities 178,241 (74,490)
Deferred revenue 752,873 (589,158)
Other liabilities (359,369) (316,217)
Net cash provided by (used in) operating activities 153,676 (579,177)
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of property and equipment (19,607) (209,034)
Payment for business acquisition (170,000) 0
Purchases of intangible assets 0 (29,505)
Proceeds from disposition of assets 16,863 67,169
Distributions to non-controlling interest (23,838) (32,809)
Net cash used in investing activities (196,582) (204,179)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Net cash provided by financing activities 0 0
Change in cash and cash equivalents (42,906) (783,356)
Cash and cash equivalents, beginning of the period 1,913,969 3,614,463
Cash and cash equivalents, end of the period 1,871,063 2,831,107
Non-cash investing and financing activities:    
Cash paid for interest 1,443 12,733
Cash paid for taxes $ 32,252 $ 10,430
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.2
Description of business and basis of presentation
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Description of business and basis of presentation Description of Business and Basis of Presentation
Description of Business
    Tecogen Inc. (together with its subsidiaries, “we,” “our,” or “us,” or “Tecogen”) designs, manufactures, markets, and maintains high efficiency, ultra-clean cogeneration products. These include natural gas engine driven combined heat and power (CHP) systems, chillers and heat pumps for multi-family residential, commercial, recreational and industrial use. We are known for products that provide customers with substantial energy savings, resiliency from utility power outages and for significantly reducing a customer’s carbon footprint. Our products are sold with our patented Ultera® emissions technology which nearly eliminates all criteria pollutants such as nitrogen oxide ("NOx") and carbon monoxide ("CO"). We developed Ultera® for other applications including stationary engines and forklifts. We were incorporated in the State of Delaware on September 15, 2000.
We have wholly-owned subsidiaries American DG Energy, Inc. ("ADGE") and Tecogen CHP Solutions, Inc., and we own a 51% interest in American DG New York, LLC ("ADGNY"), a joint venture. ADGE and ADGNY distribute, own, and operate clean, on-site energy systems that produce electricity, hot water, heat and cooling. ADGE and ADGNY own the equipment that is installed at customers' facilities and sell the energy produced to the customer on a long-term contractual basis.
Our operations are comprised of three business segments:
our Products segment, which designs, manufactures and sells industrial and commercial cogeneration systems;
our Services segment, which provides operations and maintenance ("O&M") services for our products under long term service contracts, and
our Energy Production segment, which sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term energy sales agreements.
The majority of our customers are located in regions with the highest utility rates, typically California, the Midwest and the Northeast.
On July 20, 2022, we announced our intention to increase focus on opportunities relating to Controlled Environment Agriculture (CEA). Tecogen believes that CEA offers an exciting opportunity to apply the company’s expertise in clean cooling, power generation, and greenhouse gas reduction to address critical issues affecting food and energy security.
Our common stock is quoted on OTC Markets Group, Inc.'s OTCQX Best Market tier and trades under the symbol "TGEN."
On May 18, 2017, we acquired 100% of the outstanding common stock of American DG Energy Inc., formerly a related entity, in a stock-for-stock merger.
On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services for approximately 200 cogeneration systems, and acquired certain vehicles and inventory used by Aegis in connection with the performance of such maintenance services, and, following closing hired eight (8) Aegis employees to provide services with respect to such maintenance agreements. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. See Note 8. - Aegis Contract and Related Asset Acquisition.
Basis of Presentation
    The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all the information and footnotes required by generally accepted accounting principles for complete financial statements. In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023.
    The condensed consolidated balance sheet at December 31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by generally accepted accounting principles for complete financial statements.
    
For further information, refer to the consolidated financial statements and footnotes thereto included in Tecogen's Annual Report on Form 10-K for the year ended December 31, 2022.
    The accompanying unaudited condensed consolidated financial statements include our accounts and the accounts of entities in which we have a controlling financial interest. Those entities include our wholly-owned subsidiaries American DG Energy Inc., Tecogen CHP Solutions, Inc., and a joint venture, American DG New York, LLC, in which American DG Energy Inc. holds a 51% interest. Investments in partnerships and companies in which we do not have a controlling financial interest but where we have significant influence are accounted for under the equity method. Any intercompany transactions have been eliminated in consolidation.
    Our operations are comprised of three business segments. Our Products segment designs, manufactures and sells industrial and commercial cogeneration systems as described above. Our Services segment provides operation and maintenance services to customers for our products. Our Energy Production segment sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term sales agreements.
Use of Estimates
    The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.
Income Taxes
    The provisions for income taxes in the accompanying unaudited consolidated statements of operations differ from that which would be expected by applying the federal statutory tax rate primarily due to losses for which no benefit is recognized.
Employee Retention Credit
    On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law providing numerous tax provisions and other stimulus measures, including an employee retention credit (“ERC”), which is a refundable tax credit against certain employment taxes. The Taxpayer Certainty and Disaster Tax Relief Act of 2020 and the American Rescue Plan Act of 2021 extended and expanded the availability of the ERC.
As a result of our election to use an alternative quarter, we qualified for the ERC in the first, second and third quarters of 2021 because our gross receipts decreased by more than 20% from the first, second and third quarters of 2019. As a result of averaging 100 or fewer full-time employees in 2019, all wages paid to employees in the first, second and third quarters of 2021, excluding the wages applied to the Paycheck Protection Program Second Draw Loan, were eligible for the ERC.
During the three months ended June 30, 2021, we recorded an ERC benefit for the first and second quarters of 2021 of $713,269 and, in the three months ended September 30, 2021 we recorded an ERC benefit for the third quarter of 2021 of $562,752, respectively, in other income (expense), net in the our condensed consolidated statements of operations. On April 14, 2022, we received $564,027 from the Internal Revenue Service representing the ERC claim for the third quarter of 2021 and $1,275 of accrued interest. We received $667,121 from the Internal Revenue Service on January 12, 2023 in payment of the ERC claimed from the first and second quarters of 2021 and $15,775 of accrued interest, which is reported in other income (expense) in our condensed consolidated statements of operations for the six months ended June 30, 2023. A current receivable in the amount of $46,148 is included in our condensed consolidated balance sheet as of June 30, 2023. We expect to receive the remaining balance in 2023
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Income (Loss) Per Common Share
6 Months Ended
Jun. 30, 2023
Earnings Per Share [Abstract]  
Income (Loss) Per Common Share Income Per Common Share
    Basic and diluted loss per share for the three and six months ended June 30, 2023 and 2022, respectively, were as follows: 
Three Months Ended June 30,Six Months Ended June 30,
2023202220232022
Numerator:
Net loss available to stockholders$(780,110)$(856,218)$(2,270,139)$(766,809)
Denominator:
Weighted average shares outstanding - Basic24,850,261 24,850,261 24,850,261 24,850,261 
Effect of dilutive securities:
Stock options— — — — 
Weighted average shares outstanding - Diluted24,850,261 24,850,261 24,850,261 24,850,261 
Basic loss per share$(0.03)$(0.03)$(0.09)$(0.03)
Diluted loss per share$(0.03)$(0.03)$(0.09)$(0.03)
Anti-dilutive shares underlying stock options outstanding1,831,851 925,396 1,831,851 925,396 
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Inventories, net
6 Months Ended
Jun. 30, 2023
Inventory Disclosure [Abstract]  
Inventories, net Inventories, net Inventories at June 30, 2023 and December 31, 2022 consisted of the following:
June 30, 2023December 31, 2022
Raw materials, net$9,895,804 $9,001,491 
Work-in-process1,001,676 498,139 
Finished goods1,130,045 983,099 
Total inventories, net$12,027,525 $10,482,729 
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant and Equipment, net
6 Months Ended
Jun. 30, 2023
Property, Plant and Equipment [Abstract]  
Property, Plant and Equipment, net Property, Plant and Equipment, net
Property, plant and equipment at June 30, 2023 and December 31, 2022 consisted of the following:
Estimated Useful
Life (in Years)
June 30, 2023December 31, 2022
Energy systems
1 - 15 years
$2,810,232 $2,810,232 
Machinery and equipment
5 - 7 years
1,766,945 1,624,885 
Furniture and fixtures
5 years
198,170 196,007 
Computer software
3 - 5 years
192,865 192,865 
Leasehold improvements*466,789 466,789 
  5,435,001 5,290,778 
Less - accumulated depreciation and amortization (4,082,683)(3,883,058)
 $1,352,318 $1,407,720 
* Lesser of estimated useful life of asset or lease term
    Depreciation and amortization expense on property and equipment for the three and six months ended June 30, 2023 and 2022 was $161,701 and $279,193 and $123,818 and $250,610, respectively. During the six months ended June 30, 2023, we received proceeds of $16,863 from the disposition of certain assets and reversed $8,687 of accrued decomissioning costs from a former ADG energy site, realizing a gain of $19,950. During the six months ended June 30, 2022, we received proceeds of $67,169 from the disposition of certain assets, realizing a gain of $36,445.
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets and Liabilities Other Than Goodwill
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets and Liabilities Other Than Goodwill Intangible Assets and Liabilities Other Than Goodwill
    As of June 30, 2023 and December 31, 2022 we had the following amounts related to intangible assets and liabilities other than goodwill:
June 30, 2023December 31, 2022
Intangible assetsCostAccumulated AmortizationTotalCostAccumulated AmortizationTotal
Product certifications$777,465 $(618,749)$158,716 $777,465 $(584,863)$192,602 
Patents888,910 (452,914)435,996 888,910 (405,140)483,770 
Developed technology240,000 (164,000)76,000 240,000 (156,000)84,000 
Trademarks26,896 — 26,896 26,896 — 26,896 
In Process R&D263,936 (84,837)179,099 263,936 (65,984)197,952 
Favorable contract asset384,465 (374,287)10,178 384,465 (372,091)12,374 
Customer contract 1,591,327 (56,833)1,534,494 — — — 
$4,172,999 $(1,751,620)$2,421,379 $2,581,672 $(1,584,078)$997,594 
Intangible liability
Unfavorable contract liability$2,618,168 $(1,913,807)$704,361 $2,618,168 $(1,797,951)$820,217 
The aggregate amortization expense related to intangible assets and liabilities exclusive of unfavorable contract related intangibles for the three and six months ended June 30, 2023 and 2022 was $117,833 and $167,194 and $50,469 and $100,491, respectively. The net credit to cost of sales related to the amortization of the unfavorable contract related intangible asset and liability for the three and six months ended June 30, 2023 and 2022 was $54,575 and $115,508 and $62,857 and $133,383, respectively.

Favorable/Unfavorable Contract Assets and Liabilities and Customer Contract Assets

    The favorable contract asset and unfavorable contract liability in the foregoing table represent the estimated fair value of American DG Energy's customer contracts (both positive for favorable contracts and negative for unfavorable contracts) which were acquired by us in May 2017 and include the customer relationship contract acquired by us in April 2023 as part of the Aegis acquisition. The Aegis customer relationship contract is being amortized on a straight-line basis over a period of seven (7) years which is consistent with the projected revenue recognition.

    Amortization of intangibles including contract related amounts is calculated using the straight-line method over the remaining useful life or contract term. Aggregate future amortization over the next five years and thereafter as of June 30, 2023 is estimated to be as follows:
Non-contract Related IntangiblesContract Related IntangiblesTotal
Year 1$183,504 $13,774 $197,278 
Year 2179,922 95,572 275,494 
Year 3176,029 143,370 319,399 
Year 4172,418 165,490 337,908 
Year 5 100,048 174,871 274,919 
Thereafter48,068 237,056 285,124 
Total$859,989 830,133 $1,690,122 

We recognized a gain on termination of unfavorable contract liability of $71,375 in the six months ended June 30, 2022 due to the closing of certain energy production sites.
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Sale of Energy Producing Assets and Goodwill Impairment
6 Months Ended
Jun. 30, 2023
Discontinued Operations and Disposal Groups [Abstract]  
Sale of Energy Producing Assets and Goodwill Impairment Sale of Energy Producing Assets and Goodwill ImpairmentDuring the first quarter of 2019 we recognized two individual sales of energy producing assets, for a total of eight power purchase agreements, including the associated energy production contracts for total consideration of $7 million.
    In connection with these assets sales, we entered into agreements with the purchaser to maintain and operate the assets over the remaining periods of the associated energy production contracts (through August 2033 and January 2034, respectively) in exchange for monthly maintenance and operating fees. These agreements contain provisions whereby we have guaranteed to the purchaser a minimum level or threshold of cash flows from the associated energy production contracts. In October 2021 the minimum guarantee with respect to one of the energy purchase agreements was modified by reducing the guaranteed minimum collections by $35,000 per year, the guaranteed minimum collection amount associated with one site that was sold by the customer. Actual results are compared to the minimum threshold bi-annually and we are contractually obligated to reimburse any shortfall to the purchaser. To the extent actual cash flow results exceed the minimum threshold, we are entitled to fifty percent of such excess under the agreements. Based upon an analysis of these energy producing assets expected future performance, as of June 30, 2023 we do not expect to make any material payments under the guarantee.
At June 30, 2023, we were due $22,229 under the energy production contracts, representing outstanding accounts receivable balances that were due from the purchaser's customers which were past due at December 31, 2022 and have since been collected. We expect to receive these funds in the third quarter of 2023 when the bi-annual reconciliation for the period ended June 30, 2023 is prepared.
    The foregoing agreements also contain provisions whereby we have agreed to make whole the purchaser in the event the counterparty to the energy production contract(s) defaults on or otherwise terminates before the stated expiration of the energy production contract. Should we be required to make whole the purchaser under such provisions, we would be entitled to seek recovery from the counterparty to the energy production contract(s) under a similar provision contained in those contracts in respect of early termination.
    We are also responsible under the agreements for site decommissioning costs, if any, in excess of certain threshold amounts by site. Decommissioning of site assets is performed when, if and as requested by the counterparty to the energy production contract upon termination of the energy production contract.
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Leases
6 Months Ended
Jun. 30, 2023
Leases [Abstract]  
Leases Leases
    Our leases principally consist of operating leases related to our corporate office, field offices, and our research, manufacturing, and storage facilities.
    At inception, we determine if an arrangement contains a lease and whether that lease meets the classification criteria of a finance or operating lease. Some of our lease agreements contain lease components (e.g. minimum rent payments) and non-lease components (e.g. maintenance, labor charges, etc.). We account for each component separately based on the estimated standalone price of each component.
    Operating leases are included in Right-of-use assets, Lease obligations, current and Lease obligations, long term on the condensed consolidated balance sheets. These assets and liabilities are recognized at the commencement date based on the present value of remaining lease payments over the lease term and using an incremental borrowing rate consistent with the lease terms or implicit rates, when readily determinable. For those leases where it is reasonably certain at the commencement date that we will exercise the option to extend the lease, then the lease term will include the lease extension term. Short-term operating leases, which have an initial term of 12 months or less, are not recorded on the balance sheet.
    Lease expense for operating leases, which principally consist of fixed payments for base rent, is recognized on a straight-line basis over the lease term. Lease expense for the three and six months ended June 30, 2023 and 2022 was $216,841 and $406,556 and $210,155 and $407,074, respectively.
    Supplemental information related to leases for the six months ended June 30, 2023 was as follows:
Six Months Ended June 30,
20232022
Cash paid for amounts included in the measurement of operating lease liabilities$371,264 $365,509 
Right-of-use assets obtained in exchange for operating lease liabilities$— $— 
Weighted-average remaining lease term - operating leases3.70 years3.70 years
Weighted-average discount rate - operating leases%%
Supplemental information related to operating leases as of June 30, 2023 and December 31, 2022 was as follows:
June 30, 2023December 31, 2022
Operating leases
Right-of-use assets$920,690 $1,245,549 
Operating lease liability, current$513,811 $687,589 
Operating lease liability, long-term459,372 623,452 
Total operating lease liability$973,183 $1,311,041 
    Future minimum lease commitments under non-cancellable operating leases as of June 30, 2023 were as follows:
 Operating Leases
Year 1$550,785 
Year 2132,569 
Year 3121,565 
Year 476,818 
Year 553,422 
Thereafter144,100 
Total lease payments1,079,259 
Less: imputed interest106,076 
Total$973,183 
The lease on our headquarters located in Waltham, Massachusetts which consists of approximately 43,000 square feet of manufacturing, storage and office space, expires on March 31, 2024. Currently, our monthly base rent is $44,254. On March 31, 2023, we entered into two lease agreements for two adjoining buildings, located in Billerica, Massachusetts, containing approximately 26,412 square feet of manufacturing, storage and offices space to serve as our headquarters and manufacturing facilities. The lease agreements provide for initial lease terms of five (5) years with two successive options to renew for additional terms of five (5) years. Both leases commence on January 1, 2024 and require payment of the base rent, real estate taxes, common maintenance expenses and aggregate deposits of $38,200. Our costs for initial improvements required to the leased premises is estimated to range between $1,000,000 and $1,250,000. The estimated straight-line monthly rent expense for the initial term of the lease is approximately $24,800 per month. In accordance with ASC 842-20-30-1, we will record the lease liability and right-of-use asset using the discount rate for the lease upon the lease commencement date.
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation
6 Months Ended
Jun. 30, 2023
Equity [Abstract]  
Stock-Based Compensation Stock-Based Compensation
Stock-Based Compensation
    We adopted a 2006 Stock Option and Incentive Plan, or the Plan, under which the Board of Directors may grant incentive or non-qualified stock options and stock grants to key employees, directors, advisors and consultants. The Plan was amended at various dates by the Board of Directors to increase the reserved shares of common stock issuable under the Amended Plan to 3,838,750 as of June 30, 2023, and in June 2017 stockholders approved an amendment to extend the termination date of the Plan to January 1, 2026 and ratified all of our option grants issued after January 1, 2016 (the "Amended Plan").
    Stock options vest based upon the terms within the individual option grants, with an acceleration of the unvested portion of such options upon a change in control event, as defined in the Amended Plan. The options are not transferable except by will or by the laws of descent and distribution. The option price per share under the Amended Plan cannot be less than the fair market value of the underlying shares on the date of the grant. The number of shares remaining available for future issuance under the Amended Plan as of June 30, 2023 was 188,393.
During the six months ended June 30, 2023, we did not grant any options to purchase shares of common stock under the Amended Plan.
We adopted the 2022 Stock Incentive Plan (the "2022 Plan"), under which the Board of Directors may grant incentive or non-qualified stock options and stock grants to key employees, directors, advisors and consultants. We have reserved 3,800,000 shares of our common stock for issuance pursuant to awards under the 2022 Plan. The adoption of the 2022 Plan was approved by our shareholders on June 9, 2022.
Under the 2022 Plan, stock options vest based upon the terms within the individual option grants, with an acceleration of the unvested portion of such options upon a change in control event, as defined in the 2022 Plan. The options are not transferable except by will or domestic relations order. The option price per share under the 2022 Plan cannot be less than the fair market value of the underlying shares on the date of the grant. The number of shares remaining available for future issuance under the Plan as of June 30, 2023 was 3,475,000.
    During the six months ended June 30, 2023, we granted non-qualified options to purchase an aggregate of 125,000 shares of common stock at $1.10 per share to certain directors. These options have a vesting schedule of four years and expire in ten years. The fair value of the options issued in 2023 was $62,500. The weighted-average grant date fair value of stock options granted during 2023 was $0.50 per share.
Stock option activity for the six months ended June 30, 2023 was as follows: 
Common Stock OptionsNumber of
Options
Exercise
Price
Per
Share
Weighted
Average
Exercise
Price
Weighted
Average
Remaining
Life
Aggregate
Intrinsic
Value
Outstanding, December 31, 20223,204,297 
$0.71-$10.33
$1.61 7.30 years$882,074 
Granted
125,000 
$1.10
$1.11 
Exercised
— 
Canceled and forfeited
(42,000)$1.10-$3.20$2.98 
Outstanding, June 30, 20233,287,297 
 $0.71-$10.33
$1.57 7.00 years$406,845 
Exercisable, June 30, 20231,788,972 $2.06 $206,145 
Vested and expected to vest, June 30, 20233,062,548 $1.61  $376,740 
    Consolidated stock-based compensation expense for the three and six months ended June 30, 2023 and 2022 was $28,589 and $105,937 and $89,893 and $185,600, respectively. No tax benefit was recognized related to the stock-based compensation recorded during the period.
    At June 30, 2023 the total compensation cost related to unvested stock option awards not yet recognized is $455,445 and this amount will be recognized over a weighted average period of 2.99 years
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measurements
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
    The fair value topic of the FASB Accounting Standards Codification defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. The accounting guidance also establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs, where available, and minimize the use of unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:
 Level 1 - Unadjusted quoted prices in active markets for identical assets or liabilities. We currently do not have any Level 1 financial assets or liabilities.
 Level 2 - Observable inputs other than quoted prices included in Level 1. Level 2 inputs include quoted prices for identical assets or liabilities in non-active markets, quoted prices for similar assets or liabilities in active markets and inputs other than quoted prices that are observable for substantially the full term of the asset or liability. We have Level 2 financial assets and liabilities as provided below.
 Level 3 - Unobservable inputs reflecting management’s own assumptions about the input used in pricing the asset or liability. We do not currently have any Level 3 financial assets or liabilities.
    The following tables present the asset reported in "other assets" in the consolidated balance sheet measured at its fair value on a recurring basis as of June 30, 2023 and 2022 by level within the fair value hierarchy.
June 30, 2023Quoted prices in active markets for identical assetsSignificant other observable inputsSignificant unobservable inputsUnrealized
DescriptionTotalLevel 1Level 2Level 3 Gains
Recurring fair value measurements
    Marketable equity securities
          EuroSite Power Inc.$131,241 $— $131,241 $— $37,497 
Total recurring fair value measurements$131,241 $— $131,241 $— $37,497 
June 30, 2022Quoted prices in active markets for identical assetsSignificant other observable inputsSignificant unobservable inputsUnrealized
DescriptionTotalLevel 1Level 2Level 3Gains
Recurring fair value measurements
Marketable equity securities
EuroSite Power Inc.$112,492 $— $112,492 $— $37,497 
Total recurring fair value measurements$112,492 $— $112,492 $— $37,497 
      
    We utilize a Level 2 category fair value measurement to value our investment in EuroSite Power, Inc. as a marketable equity security at period end. That measurement is equal to the quoted market closing price at period end. Since this security is not actively traded we classify it as Level 2.
    The following table summarizes changes in Level 2 assets which are comprised of marketable equity securities for the six months ended June 30, 2023 and 2022:


Fair value at December 31, 2022$93,744 
Unrealized gains37,497 
Fair value at June 30, 2023$131,241 
Fair value at December 31, 2021$74,995 
Unrealized gains37,497 
Fair value at June 30, 2022$112,492 
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and contingencies
6 Months Ended
Jun. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and contingencies Commitments and Contingencies     On November 23, 2022, we were served with a suit filed against us on August 24, 2022 in the Ontario Superior Court of Justice by The Corporation of the Town of Milton, Milton Energy Generation Solutions Inc. and Milton Hydro Distribution Inc (the "Plaintiffs"), all of whom are municipal corporations incorporated in the Province of Ontario. The plaintiffs sued for damages in the amount of CDN $1,000,000, pre-judgment and post-judgment interest, legal fees, and any further relief the court may deem, alleging breach of contract, breach of warranty, negligent misrepresentations and nuisance. Plaintiffs allege that on or about July 10, 2022, a Tecogen cogenerator installed by us at the plaintiffs facility caught fire, causing damage to the cogenerator and the plaintiff's facility. We have filed a response denying liability and are being represented by Canadian counsel. For the year ended December 31, 2022, we reserved $150,000 for anticipated damages which may not be covered by our insurance.
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Segments
6 Months Ended
Jun. 30, 2023
Segment Reporting [Abstract]  
Segments Segments
    As of June 30, 2023, we were organized into three (3) operating segments through which senior management evaluates our business. These segments, as described in more detail in Note 1, are organized around the products and services provided to customers and represent our reportable segments. The following table presents information by reportable segment for the three and six months ended June 30, 2023 and 2022:
ProductsServicesEnergy ProductionCorporate, other and elimination (1)Total
Three Months Ended June 30, 2023
Revenue - external customers$2,445,631 $3,952,971 $350,156 $— $6,748,758 
Intersegment revenue— 66,143 — (66,143)— 
   Total revenue$2,445,631 $4,019,114 $350,156 $(66,143)$6,748,758 
Gross profit$827,175 $1,877,102 $130,149 $— $2,834,426 
Identifiable assets$9,955,171 $13,051,494 $3,284,542 $3,508,978 $29,800,185 
Six Months Ended June 30, 2023
Revenue - external customers$4,155,767 $7,089,144 $883,665 $— $12,128,576 
Intersegment revenue— 154,357 — (154,357)— 
   Total revenue$4,155,767 $7,243,501 $883,665 $(154,357)$12,128,576 
Gross profit$1,324,743 $3,275,673 $325,919 $— $4,926,335 
Identifiable assets$9,955,171 $13,051,494 $3,284,542 $3,508,978 $29,800,185 
Three Months Ended June 30, 2022
Revenue - external customers$3,010,115 $3,050,191 $354,287 $— $6,414,593 
Intersegment revenue— 62,415 — (62,415)— 
Total revenue$3,010,115 $3,112,606 $354,287 $(62,415)$6,414,593 
Gross profit$994,649 $1,576,605 $132,195 $— $2,703,449 
Identifiable assets$11,237,886 $9,799,483 $3,855,043 $5,441,312 $30,333,724 
Six Months Ended June 30, 2022
Revenue - external customers$6,949,596 $5,967,471 $935,849 $— $13,852,916 
Intersegment revenue— 157,669 — (157,669)— 
Total revenue$6,949,596 $6,125,140 $935,849 $(157,669)$13,852,916 
Gross profit$2,289,375 $3,127,133 $377,730 $— $5,794,238 
Identifiable assets$11,237,886 $9,799,483 $3,855,043 $5,441,312 $30,333,724 
(1) Corporate, intersegment revenue, other and elimination includes various corporate assets.
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Subsequent Events
6 Months Ended
Jun. 30, 2023
Subsequent Events [Abstract]  
Subsequent Events Subsequent Events     We have evaluated subsequent events through the date of this filing and determined that no material subsequent events occurred that would require recognition in the consolidated financial statements or disclosure in the notes thereto.
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Aegis Contract and Related Asset Acquisition
6 Months Ended
Jun. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Aegis Contract and Related Asset Acquisition Aegis Contract and Related Asset Acquisition
On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets from Aegis, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis’ rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services to third parties for approximately 200 cogeneration systems and we agreed to acquire from Aegis certain vehicles and inventory used by Aegis in connection with the performance of its maintenance services. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. At closing, we hired eight (8) Aegis employees who, following the closing, have agreed to continue to provide maintenance services relating to the cogeneration systems covered by the maintenance agreements assumed pursuant to the Agreement. Following the closing and for a period of up to seven (7) years, we have agreed to pay Aegis a percentage of the revenue collected for maintenance services provided pursuant to the maintenance agreements acquired from Aegis. Further, prior to December 31, 2023, we have the right to acquire and assume additional Aegis’ maintenance agreements for cogeneration systems on substantially similar terms and conditions. The Agreement contained certain indemnification provisions and agreements on the part of Aegis and for each party to cooperate with each other and provide certain transitional assistance. We acquired the Aegis maintenance agreements to expand our Service portfolio and to benefit from the long-term contract revenue stream generated by these agreements.
We have determined that the assignment and assumption of the Aegis maintenance agreements, in combination with the related asset acquisition and the retention of the former Aegis employees, constitutes a business and should be accounted for as a business combination under the acquisition method. As of the acquisition date, we recognized, separately from goodwill, the identifiable assets acquired and the liabilities assumed, at fair value.

We have included the financial results of the Aegis maintenance agreements in our consolidated financial statements from April 1, 2023, the closing or acquisition date.

The following table summarizes the consideration paid for the Aegis acquisition and the fair value of assets acquired and contract-related liabilities assumed as the acquisition date:
Consideration Paid:
Cash$170,000 
Accounts receivable credit issued300,000 
Account payable 111,178 
Contingent consideration1,442,462 
Total fair value of consideration transferred2,023,639 
Identifiable assets acquired and liabilities assumed:
Assets acquired
Property, plant and equipment170,000 
Inventory411,178 
Identifiable intangible asset - customer contracts1,591,327 
2,172,505 
Acquired contract-related liabilities assumed
Deferred maintenance reserve(871,856)
(871,856)
Net identifiable assets acquired1,300,649 
Excess of cost over fair value of net assets acquired (Goodwill)$722,991 

The amounts recognized for inventory, identifiable intangible assets, contingent consideration and deferred maintenance reserves are provisional pending completion of the necessary valuations and analysis. ASC 805 establishes a measurement period to provide companies with a reasonable amount of time to obtain the information necessary to identify and measure various items in a business combination and cannot extend beyond one year from the acquisition date.
The fair value of the contingent consideration was estimated using the income approach. The excess cash flow was discounted to present value using an appropriate rate of return to estimate the market value of the customer identifiable intangible asset and the risks associated with the future revenue forecasts due to potential changes in customer energy requirements or changes in the economic viability of these CHP sites which depend on the spread between natural gas fuel and electricity prices, all of which are not within our control. Key assumptions to value the customer identifiable intangible asset included a discount rate of 15%, anticipated existing contract run out and forecasted revenue.
On the date of acquisition, the fair value of the contingent consideration and the deferred maintenance reserve were calculated using a weighted average cost of capital of 12%, discounting the future cash flows to present value and are subsequently remeasured to fair value at each reporting date until the contingencies are resolved.
The contingent consideration is payable within forty-five (45) days following the end of each calendar quarter through the earlier of the expiration or termination of the relevant maintenance agreements, or the seventh (7th) anniversary of the acquisition date. The consideration is equal to the product of the revenues collected in a calendar quarter multiplied by an applicable percentage. The agreement stipulates quarterly aggregate revenue targets and an applicable percentage, and provides for a higher applicable percentage if revenues exceed the target revenues. The applicable percentage ranges from 5% to 10% over the agreement term. The deferred maintenance reserve represents costs, which are expected to be incurred over a three-year period from the date of acquisition, to repair customer equipment that had not been properly maintained prior to our acquisition of the maintenance service agreements.
Revenues and gross profit since the acquisition date were $628,813 and $411,106, respectively, for the three months ended June 30, 2023 and are included in our Services segment.
The purchase price of the acquisition was allocated to the tangible and intangible assets acquired and liabilities assumed and recognized at their fair value based on widely accepted valuation techniques in accordance with ASC 820, "Fair Value Measurement," as of the acquisition date. The process for estimating fair value requires the use of significant assumptions and estimates of future cash flows and developing appropriate discount rates. The excess of the purchase price over fair value of the net identified assets acquired and liabilities assumed was recorded as goodwill. Goodwill is primarily attributable to the going concern element of the Aegis business, including its assembled workforce and the long-term nature of the customer maintenance agreements, as well as anticipated cost synergies due primarily to the elimination of administrative overhead. Goodwill resulting from the Aegis acquisition is not expected to be deductible for income tax purposes.
Acquisition-related costs which consisted on recurring internal resources were deminimus and such costs were expensed as incurred (ASC805-50-30-1).

The following table summarizes the contract-related liabilities assumed as of:

June 30, 2023December 31, 2022
Acquisition liabilities, current
Contingent consideration$164,357 $— 
Deferred maintenance reserve484,884 — 
649,241 — 
Acquisition liabilities, long-term
Contingent consideration1,278,105 — 
Deferred maintenance reserve365,462 — 
$1,643,567 $— 
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Description of business and basis of presentation (Policies)
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Principles of Consolidation and Basis of Presentation
Basis of Presentation
    The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all the information and footnotes required by generally accepted accounting principles for complete financial statements. In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023.
    The condensed consolidated balance sheet at December 31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by generally accepted accounting principles for complete financial statements.
    
For further information, refer to the consolidated financial statements and footnotes thereto included in Tecogen's Annual Report on Form 10-K for the year ended December 31, 2022.
    The accompanying unaudited condensed consolidated financial statements include our accounts and the accounts of entities in which we have a controlling financial interest. Those entities include our wholly-owned subsidiaries American DG Energy Inc., Tecogen CHP Solutions, Inc., and a joint venture, American DG New York, LLC, in which American DG Energy Inc. holds a 51% interest. Investments in partnerships and companies in which we do not have a controlling financial interest but where we have significant influence are accounted for under the equity method. Any intercompany transactions have been eliminated in consolidation.
    Our operations are comprised of three business segments. Our Products segment designs, manufactures and sells industrial and commercial cogeneration systems as described above. Our Services segment provides operation and maintenance services to customers for our products. Our Energy Production segment sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term sales agreements.
Use of Estimates Use of Estimates    The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates
Income Taxes
Income Taxes
    The provisions for income taxes in the accompanying unaudited consolidated statements of operations differ from that which would be expected by applying the federal statutory tax rate primarily due to losses for which no benefit is recognized.
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Loss Per Common Share (Tables)
6 Months Ended
Jun. 30, 2023
Earnings Per Share [Abstract]  
Schedule of Income (Loss) Per Common Share, Basic and Diluted Basic and diluted loss per share for the three and six months ended June 30, 2023 and 2022, respectively, were as follows: 
Three Months Ended June 30,Six Months Ended June 30,
2023202220232022
Numerator:
Net loss available to stockholders$(780,110)$(856,218)$(2,270,139)$(766,809)
Denominator:
Weighted average shares outstanding - Basic24,850,261 24,850,261 24,850,261 24,850,261 
Effect of dilutive securities:
Stock options— — — — 
Weighted average shares outstanding - Diluted24,850,261 24,850,261 24,850,261 24,850,261 
Basic loss per share$(0.03)$(0.03)$(0.09)$(0.03)
Diluted loss per share$(0.03)$(0.03)$(0.09)$(0.03)
Anti-dilutive shares underlying stock options outstanding1,831,851 925,396 1,831,851 925,396 
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Inventory (Tables)
6 Months Ended
Jun. 30, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventory Inventories at June 30, 2023 and December 31, 2022 consisted of the following:
June 30, 2023December 31, 2022
Raw materials, net$9,895,804 $9,001,491 
Work-in-process1,001,676 498,139 
Finished goods1,130,045 983,099 
Total inventories, net$12,027,525 $10,482,729 
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant and Equipment (Tables)
6 Months Ended
Jun. 30, 2023
Property, Plant and Equipment [Abstract]  
Summary of Property, Plant and Equipment
Property, plant and equipment at June 30, 2023 and December 31, 2022 consisted of the following:
Estimated Useful
Life (in Years)
June 30, 2023December 31, 2022
Energy systems
1 - 15 years
$2,810,232 $2,810,232 
Machinery and equipment
5 - 7 years
1,766,945 1,624,885 
Furniture and fixtures
5 years
198,170 196,007 
Computer software
3 - 5 years
192,865 192,865 
Leasehold improvements*466,789 466,789 
  5,435,001 5,290,778 
Less - accumulated depreciation and amortization (4,082,683)(3,883,058)
 $1,352,318 $1,407,720 
* Lesser of estimated useful life of asset or lease term
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets and Liabilities Other Than Goodwill (Tables)
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets As of June 30, 2023 and December 31, 2022 we had the following amounts related to intangible assets and liabilities other than goodwill:
June 30, 2023December 31, 2022
Intangible assetsCostAccumulated AmortizationTotalCostAccumulated AmortizationTotal
Product certifications$777,465 $(618,749)$158,716 $777,465 $(584,863)$192,602 
Patents888,910 (452,914)435,996 888,910 (405,140)483,770 
Developed technology240,000 (164,000)76,000 240,000 (156,000)84,000 
Trademarks26,896 — 26,896 26,896 — 26,896 
In Process R&D263,936 (84,837)179,099 263,936 (65,984)197,952 
Favorable contract asset384,465 (374,287)10,178 384,465 (372,091)12,374 
Customer contract 1,591,327 (56,833)1,534,494 — — — 
$4,172,999 $(1,751,620)$2,421,379 $2,581,672 $(1,584,078)$997,594 
Intangible liability
Unfavorable contract liability$2,618,168 $(1,913,807)$704,361 $2,618,168 $(1,797,951)$820,217 
Schedule of Future Amortization Expense Aggregate future amortization over the next five years and thereafter as of June 30, 2023 is estimated to be as follows:
Non-contract Related IntangiblesContract Related IntangiblesTotal
Year 1$183,504 $13,774 $197,278 
Year 2179,922 95,572 275,494 
Year 3176,029 143,370 319,399 
Year 4172,418 165,490 337,908 
Year 5 100,048 174,871 274,919 
Thereafter48,068 237,056 285,124 
Total$859,989 830,133 $1,690,122 
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Tables)
6 Months Ended
Jun. 30, 2023
Leases [Abstract]  
Supplemental Information Related to Leases Supplemental information related to leases for the six months ended June 30, 2023 was as follows:
Six Months Ended June 30,
20232022
Cash paid for amounts included in the measurement of operating lease liabilities$371,264 $365,509 
Right-of-use assets obtained in exchange for operating lease liabilities$— $— 
Weighted-average remaining lease term - operating leases3.70 years3.70 years
Weighted-average discount rate - operating leases%%
Future Minimum Lease Commitments Future minimum lease commitments under non-cancellable operating leases as of June 30, 2023 were as follows:
 Operating Leases
Year 1$550,785 
Year 2132,569 
Year 3121,565 
Year 476,818 
Year 553,422 
Thereafter144,100 
Total lease payments1,079,259 
Less: imputed interest106,076 
Total$973,183 
Assets and Liabilities, Lessee
Supplemental information related to operating leases as of June 30, 2023 and December 31, 2022 was as follows:
June 30, 2023December 31, 2022
Operating leases
Right-of-use assets$920,690 $1,245,549 
Operating lease liability, current$513,811 $687,589 
Operating lease liability, long-term459,372 623,452 
Total operating lease liability$973,183 $1,311,041 
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation (Tables)
6 Months Ended
Jun. 30, 2023
Tecogen  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Schedule of Stock Option Activity
Stock option activity for the six months ended June 30, 2023 was as follows: 
Common Stock OptionsNumber of
Options
Exercise
Price
Per
Share
Weighted
Average
Exercise
Price
Weighted
Average
Remaining
Life
Aggregate
Intrinsic
Value
Outstanding, December 31, 20223,204,297 
$0.71-$10.33
$1.61 7.30 years$882,074 
Granted
125,000 
$1.10
$1.11 
Exercised
— 
Canceled and forfeited
(42,000)$1.10-$3.20$2.98 
Outstanding, June 30, 20233,287,297 
 $0.71-$10.33
$1.57 7.00 years$406,845 
Exercisable, June 30, 20231,788,972 $2.06 $206,145 
Vested and expected to vest, June 30, 20233,062,548 $1.61  $376,740 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measurements (Tables)
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis The following tables present the asset reported in "other assets" in the consolidated balance sheet measured at its fair value on a recurring basis as of June 30, 2023 and 2022 by level within the fair value hierarchy.
June 30, 2023Quoted prices in active markets for identical assetsSignificant other observable inputsSignificant unobservable inputsUnrealized
DescriptionTotalLevel 1Level 2Level 3 Gains
Recurring fair value measurements
    Marketable equity securities
          EuroSite Power Inc.$131,241 $— $131,241 $— $37,497 
Total recurring fair value measurements$131,241 $— $131,241 $— $37,497 
June 30, 2022Quoted prices in active markets for identical assetsSignificant other observable inputsSignificant unobservable inputsUnrealized
DescriptionTotalLevel 1Level 2Level 3Gains
Recurring fair value measurements
Marketable equity securities
EuroSite Power Inc.$112,492 $— $112,492 $— $37,497 
Total recurring fair value measurements$112,492 $— $112,492 $— $37,497 
Schedule of Fair Value, Measured on Recurring Basis, Gain (Loss) Included in Earnings The following table summarizes changes in Level 2 assets which are comprised of marketable equity securities for the six months ended June 30, 2023 and 2022:
Fair value at December 31, 2022$93,744 
Unrealized gains37,497 
Fair value at June 30, 2023$131,241 
Fair value at December 31, 2021$74,995 
Unrealized gains37,497 
Fair value at June 30, 2022$112,492 
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Segments (Tables)
6 Months Ended
Jun. 30, 2023
Segment Reporting [Abstract]  
Schedule of Segment Reporting Information The following table presents information by reportable segment for the three and six months ended June 30, 2023 and 2022:
ProductsServicesEnergy ProductionCorporate, other and elimination (1)Total
Three Months Ended June 30, 2023
Revenue - external customers$2,445,631 $3,952,971 $350,156 $— $6,748,758 
Intersegment revenue— 66,143 — (66,143)— 
   Total revenue$2,445,631 $4,019,114 $350,156 $(66,143)$6,748,758 
Gross profit$827,175 $1,877,102 $130,149 $— $2,834,426 
Identifiable assets$9,955,171 $13,051,494 $3,284,542 $3,508,978 $29,800,185 
Six Months Ended June 30, 2023
Revenue - external customers$4,155,767 $7,089,144 $883,665 $— $12,128,576 
Intersegment revenue— 154,357 — (154,357)— 
   Total revenue$4,155,767 $7,243,501 $883,665 $(154,357)$12,128,576 
Gross profit$1,324,743 $3,275,673 $325,919 $— $4,926,335 
Identifiable assets$9,955,171 $13,051,494 $3,284,542 $3,508,978 $29,800,185 
Three Months Ended June 30, 2022
Revenue - external customers$3,010,115 $3,050,191 $354,287 $— $6,414,593 
Intersegment revenue— 62,415 — (62,415)— 
Total revenue$3,010,115 $3,112,606 $354,287 $(62,415)$6,414,593 
Gross profit$994,649 $1,576,605 $132,195 $— $2,703,449 
Identifiable assets$11,237,886 $9,799,483 $3,855,043 $5,441,312 $30,333,724 
Six Months Ended June 30, 2022
Revenue - external customers$6,949,596 $5,967,471 $935,849 $— $13,852,916 
Intersegment revenue— 157,669 — (157,669)— 
Total revenue$6,949,596 $6,125,140 $935,849 $(157,669)$13,852,916 
Gross profit$2,289,375 $3,127,133 $377,730 $— $5,794,238 
Identifiable assets$11,237,886 $9,799,483 $3,855,043 $5,441,312 $30,333,724 
(1) Corporate, intersegment revenue, other and elimination includes various corporate assets.
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Aegis Contract and Related Asset Acquisition (Tables)
6 Months Ended
Jun. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Asset Acquisition The following table summarizes the consideration paid for the Aegis acquisition and the fair value of assets acquired and contract-related liabilities assumed as the acquisition date:
Consideration Paid:
Cash$170,000 
Accounts receivable credit issued300,000 
Account payable 111,178 
Contingent consideration1,442,462 
Total fair value of consideration transferred2,023,639 
Identifiable assets acquired and liabilities assumed:
Assets acquired
Property, plant and equipment170,000 
Inventory411,178 
Identifiable intangible asset - customer contracts1,591,327 
2,172,505 
Acquired contract-related liabilities assumed
Deferred maintenance reserve(871,856)
(871,856)
Net identifiable assets acquired1,300,649 
Excess of cost over fair value of net assets acquired (Goodwill)$722,991 
The following table summarizes the contract-related liabilities assumed as of:

June 30, 2023December 31, 2022
Acquisition liabilities, current
Contingent consideration$164,357 $— 
Deferred maintenance reserve484,884 — 
649,241 — 
Acquisition liabilities, long-term
Contingent consideration1,278,105 — 
Deferred maintenance reserve365,462 — 
$1,643,567 $— 
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Description of business and basis of presentation - Additional Information (Details)
3 Months Ended 6 Months Ended
Mar. 15, 2023
USD ($)
Jan. 12, 2023
USD ($)
Apr. 14, 2022
USD ($)
May 18, 2017
Sep. 30, 2021
USD ($)
Jun. 30, 2021
USD ($)
Jun. 30, 2023
USD ($)
segment
Dec. 31, 2022
USD ($)
Business Acquisition [Line Items]                
Ownerhsip interest in American DG New York, LLC (percent)             51.00%  
Number of business segments | segment             3  
Employee Retention Credit           $ 713,269    
Accrued interest received         $ 1,275 $ 15,775    
Employee retention credit receivable             $ 46,148 $ 713,269
Aegis Energy Services, LLC                
Business Acquisition [Line Items]                
Total fair value of consideration transferred $ 2,023,639 $ 667,121 $ 564,027   $ 562,752      
Accounts receivable credit issued 300,000              
Cash $ 170,000              
American DG Energy, Inc.                
Business Acquisition [Line Items]                
Ownership interest (percent)       100.00%        
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Disaggregation of Revenue (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue [Line Items]        
Total revenue $ 6,748,758 $ 6,414,593 $ 12,128,576 $ 13,852,916
Products        
Disaggregation of Revenue [Line Items]        
Total revenue 2,445,631 3,010,115 4,155,767 6,949,596
Maintenance services        
Disaggregation of Revenue [Line Items]        
Total revenue 3,952,971 3,050,191 7,089,144 5,947,362
Energy production        
Disaggregation of Revenue [Line Items]        
Total revenue 350,156 354,287 883,665 935,849
Installation services        
Disaggregation of Revenue [Line Items]        
Total revenue       20,109
Products        
Disaggregation of Revenue [Line Items]        
Total revenue 2,445,631 3,010,115 4,155,767 6,949,596
Maintenance services        
Disaggregation of Revenue [Line Items]        
Total revenue 4,019,114 3,112,606 7,243,501 6,125,140
Energy production        
Disaggregation of Revenue [Line Items]        
Total revenue 350,156 354,287 883,665 935,849
Operating Segments        
Disaggregation of Revenue [Line Items]        
Total revenue 6,748,758 6,414,593 12,128,576 13,852,916
Operating Segments | Products        
Disaggregation of Revenue [Line Items]        
Total revenue 2,445,631 3,010,115 4,155,767 6,949,596
Operating Segments | Products | Products        
Disaggregation of Revenue [Line Items]        
Total revenue 2,445,631 3,010,115 4,155,767 6,949,596
Operating Segments | Products | Maintenance services        
Disaggregation of Revenue [Line Items]        
Total revenue 0 0 0 0
Operating Segments | Products | Energy production        
Disaggregation of Revenue [Line Items]        
Total revenue 0 0 0 0
Operating Segments | Products | Installation services        
Disaggregation of Revenue [Line Items]        
Total revenue       0
Operating Segments | Maintenance services        
Disaggregation of Revenue [Line Items]        
Total revenue 3,952,971 3,050,191 7,089,144 5,967,471
Operating Segments | Maintenance services | Products        
Disaggregation of Revenue [Line Items]        
Total revenue 0 0 0 0
Operating Segments | Maintenance services | Maintenance services        
Disaggregation of Revenue [Line Items]        
Total revenue 3,952,971 3,050,191 7,089,144 5,947,362
Operating Segments | Maintenance services | Energy production        
Disaggregation of Revenue [Line Items]        
Total revenue 0 0 0 0
Operating Segments | Maintenance services | Installation services        
Disaggregation of Revenue [Line Items]        
Total revenue       20,109
Operating Segments | Energy production        
Disaggregation of Revenue [Line Items]        
Total revenue 350,156 354,287 883,665 935,849
Operating Segments | Energy production | Products        
Disaggregation of Revenue [Line Items]        
Total revenue 0 0 0 0
Operating Segments | Energy production | Maintenance services        
Disaggregation of Revenue [Line Items]        
Total revenue 0 0 0 0
Operating Segments | Energy production | Energy production        
Disaggregation of Revenue [Line Items]        
Total revenue $ 350,156 $ 354,287 $ 883,665 935,849
Operating Segments | Energy production | Installation services        
Disaggregation of Revenue [Line Items]        
Total revenue       $ 0
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Additional Information (Details)
6 Months Ended
Jun. 30, 2023
USD ($)
Revenue Recognition [Abstract]  
Revenue billed this period that had been recognized in previous periods $ 16,428
Deferred revenue recognized 648,435
Remaining performance obligations $ 2,200,000
Performance obligation revenue expected to be recognized over the next 24 months (percent) 98.90%
Performance obligation revenue to be recognized in first 12 months (percent) 93.10%
Performance obligation revenue to be recognized over the subsequent 12 months (percent) 5.80%
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Loss Per Common Share - Schedule of Income (Loss) Per Common Share, Basic and Diluted (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Net loss available to stockholders $ (780,110) $ (856,218) $ (2,270,139) $ (766,809)
Weighted average shares outstanding - basic 24,850,261 24,850,261 24,850,261 24,850,261
Effect of dilutive securities:        
Weighted average shares outstanding - Diluted 24,850,261 24,850,261 24,850,261 24,850,261
Net income (loss) per share - basic (in USD per share) $ (0.03) $ (0.03) $ (0.09) $ (0.03)
Net income (loss) per share - diluted (in usd per share) $ (0.03) $ (0.03) $ (0.09) $ (0.03)
Stock Options        
Effect of dilutive securities:        
Stock options 0 0 0 0
Anti-dilutive shares underlying stock options outstanding 1,831,851 925,396 1,831,851 925,396
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Inventory (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Raw materials, net $ 9,895,804 $ 9,001,491
Work-in-process 1,001,676 498,139
Finished goods 1,130,045 983,099
Inventories, net $ 12,027,525 $ 10,482,729
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant and Equipment - Summary of Property and Equipment (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 5,435,001 $ 5,290,778
Less - accumulated depreciation and amortization (4,082,683) (3,883,058)
Property and equipment, net, before construction in progress 1,352,318 1,407,720
Energy systems    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 2,810,232 2,810,232
Energy systems | Minimum    
Property, Plant and Equipment [Line Items]    
Useful life - years 1 year  
Energy systems | Maximum    
Property, Plant and Equipment [Line Items]    
Useful life - years 15 years  
Machinery and equipment    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,766,945 1,624,885
Machinery and equipment | Minimum    
Property, Plant and Equipment [Line Items]    
Useful life - years 5 years  
Machinery and equipment | Maximum    
Property, Plant and Equipment [Line Items]    
Useful life - years 7 years  
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 198,170 196,007
Useful life - years 5 years  
Computer software    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 192,865 192,865
Computer software | Minimum    
Property, Plant and Equipment [Line Items]    
Useful life - years 3 years  
Computer software | Maximum    
Property, Plant and Equipment [Line Items]    
Useful life - years 5 years  
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 466,789 $ 466,789
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant and Equipment - Depreciation (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Property, Plant and Equipment [Abstract]        
Depreciation and amortization expense $ 161,701 $ 123,818 $ 279,193 $ 250,610
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets and Liabilities Other Than Goodwill -Amounts related to intangible assets (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Intangible assets $ 4,172,999 $ 2,581,672
Less - accumulated amortization (1,751,620) (1,584,078)
Intangible assets, net 2,421,379 997,594
Unfavorable contract liability 2,618,168 2,618,168
Less - accumulated amortization (1,913,807) (1,797,951)
Unfavorable contract liability, net 704,361 820,217
Product Certifications    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 777,465 777,465
Less - accumulated amortization (618,749) (584,863)
Intangible assets, net 158,716 192,602
Patents    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 888,910 888,910
Less - accumulated amortization (452,914) (405,140)
Intangible assets, net 435,996 483,770
Developed Technology    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 240,000 240,000
Less - accumulated amortization (164,000) (156,000)
Intangible assets, net 76,000 84,000
Favorable contract asset    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 384,465 384,465
Less - accumulated amortization (374,287) (372,091)
Intangible assets, net 10,178 12,374
TTcogen Intangible Assets    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 1,591,327 0
Less - accumulated amortization (56,833) 0
Intangible assets, net 1,534,494 0
Trademarks    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 26,896 26,896
Less - accumulated amortization 0 0
Intangible assets, net 26,896 26,896
In Process R&D    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets 263,936 263,936
Less - accumulated amortization (84,837) (65,984)
Intangible assets, net $ 179,099 $ 197,952
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets and Liabilities Other Than Goodwill (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]        
Amortization of intangible assets $ 117,833 $ 50,469 $ 167,194 $ 100,491
Net credit to cost of sales for amortization of contract related intangible assets and liabilities $ 54,575 $ 62,857 115,508 133,383
Gain on termination of unfavorable contract liability     $ 0 $ (71,375)
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets and Liabilities Other Than Goodwill - Future Amortization of Customer Contracts (Details) - USD ($)
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Non-contract Related Intangibles [Abstract]      
Total $ 2,421,379   $ 997,594
Contract-related Intangibles [Abstract]      
Gain on termination of unfavorable contract liability 0 $ 71,375  
Contract Asset and Liability      
Non-contract Related Intangibles [Abstract]      
Year 4 337,908    
Year 5 274,919    
Contract-related Intangibles [Abstract]      
Year 1 197,278    
Year 2 275,494    
Year 3 319,399    
Thereafter 285,124    
Total 1,690,122    
Non-contract Related Intangible Assets | Contract Asset and Liability      
Non-contract Related Intangibles [Abstract]      
Year 1 183,504    
Year 2 179,922    
Year 3 176,029    
Year 4 172,418    
Year 5 100,048    
Thereafter 48,068    
Total 859,989    
Customer Contracts | Contract Asset and Liability      
Contract-related Intangibles [Abstract]      
Year 1 13,774    
Year 2 95,572    
Year 3 143,370    
Year 4 165,490    
Year 5 174,871    
Thereafter 237,056    
Total $ 830,133    
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Sale of Energy Producing Assets and Goodwill Impairment (Details)
3 Months Ended
Mar. 31, 2021
USD ($)
site
sale
Jun. 30, 2023
USD ($)
Discontinued Operations and Disposal Groups [Abstract]    
Number of sales of energy producing assets | sale 2  
Number of energy producing sites sold | site 8  
Consideration received $ 7,000,000  
Obligation under energy production contracts   $ 22,229
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Details)
3 Months Ended 6 Months Ended
Jan. 01, 2024
USD ($)
Jun. 30, 2023
USD ($)
ft²
Jun. 30, 2022
USD ($)
Jun. 30, 2023
USD ($)
ft²
Jun. 30, 2022
USD ($)
Mar. 31, 2023
ft²
Lessee, Lease, Description [Line Items]            
Lease cost   $ 216,841 $ 210,155 $ 406,556 $ 407,074  
Cash paid for amounts included in the measurement of operating lease liabilities       371,264 365,509  
Right-of-use assets obtained in exchange for operating lease liabilities       $ 0 $ 0  
Weighted-average remaining lease term - operating leases   3 years 8 months 12 days 3 years 8 months 12 days 3 years 8 months 12 days 3 years 8 months 12 days  
Weighted-average discount rate - operating leases (percent)   6.00% 6.00% 6.00% 6.00%  
Square feet of lease | ft²   43,000   43,000   26,412
Rent expense       $ 44,254    
Lease term   5 years   5 years    
Forecast            
Lessee, Lease, Description [Line Items]            
Lease cost $ 38,200          
Rent expense $ 24,800          
Minimum            
Lessee, Lease, Description [Line Items]            
Lease improvement costs       $ 1,000,000    
Maximum            
Lessee, Lease, Description [Line Items]            
Lease improvement costs       $ 1,250,000    
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Assets and Liabilities, Lessee (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Leases [Abstract]    
Right of use assets $ 920,690 $ 1,245,549
Operating Lease, Liability, Current 513,811 687,589
Operating Lease, Liability, Noncurrent 459,372 623,452
Total $ 973,183 $ 1,311,041
Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Lease obligations, current Lease obligations, current
Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration] Lease obligations, net of current portion Lease obligations, net of current portion
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Future Minimum Lease Commitments (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Leases [Abstract]    
Year 1 $ 550,785  
Year 2 132,569  
Year 3 121,565  
Year 4 76,818  
Year 5 53,422  
Thereafter 144,100  
Total lease payments 1,079,259  
Less: imputed interest 106,076  
Total $ 973,183 $ 1,311,041
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Stock-Based Compensation (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Jun. 09, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Share-based Payment Arrangement, Noncash Expense $ 28,589 $ 89,893 $ 105,937 $ 185,600  
Fair value of options     $ 62,500    
Weighted average grant date fair value (in dollars per share)     $ 0.50    
Share-based Payment Arrangement, Nonemployee          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Price (dollars per share) $ 1.10   $ 1.10    
Stock Options          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Compensation cost not yet recognized, amount $ 455,445   $ 455,445    
Compensation cost not yet recognized, period for recognition     2 years 11 months 26 days    
Nonqualified Options | Share-based Payment Arrangement, Nonemployee          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Granted (shares)     125,000    
2022 Stock Incentive Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Number of shares remaining available for future issuance 3,475,000   3,475,000    
2022 Stock Incentive Plan | Nonqualified Options          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Shares of common stock reserved for future issuance         3,800,000
Tecogen          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Granted (shares)     125,000    
Tecogen | Amended Plan | Stock Options          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Shares of common stock reserved for future issuance 3,838,750   3,838,750    
Number of shares remaining available for future issuance 188,393   188,393    
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Stock Option Activity (Details) - Tecogen - USD ($)
3 Months Ended 6 Months Ended
Mar. 31, 2023
Mar. 31, 2021
Jun. 30, 2023
Dec. 31, 2022
Stock Options Outstanding [Roll Forward]        
Beginning (shares) 3,204,297   3,204,297  
Granted (shares)     125,000  
Exercised (shares)     0  
Canceled and forfeited (shares)     (42,000)  
Ending (shares)     3,287,297  
Exercisable (shares)     1,788,972  
Vested and expected to vest (shares)     3,062,548  
Exercise Price Per Share [Abstract]        
Exercise Price Per Share, Outstanding, Minimum (per share) $ 0.71   $ 0.71  
Exercise Price Per Share, Outstanding, Maximum (dollars per share) 10.33   10.33  
Weighted Average Exercise Price [Roll Forward]        
Beginning (usd per share) $ 1.61   1.61  
Granted (usd per share)     1.11  
Canceled and forfeited (usd per share)     2.98  
Ending (usd per share)     1.57  
Exercisable (usd per share)     2.06  
Vested and expected to vest (usd per share)     $ 1.61  
Weighted Average Remaining Life   7 years 3 months 18 days 7 years  
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]        
Outstanding, Aggregate Intrinsic Value     $ 406,845 $ 882,074
Exercisable, Aggregate Intrinsic Value     206,145  
Vested and expected to vest, Aggregate Intrinsic Value     $ 376,740  
Minimum        
Exercise Price Per Share [Abstract]        
Exercise price per share, Granted (dollars per share)     $ 1.10  
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measurements - Fair Value on a Recurring Basis (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Dec. 31, 2021
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Unrealized gain (loss) on investment securities $ 37,497 $ 0 $ 37,497 $ 37,497    
Fair Value, Measurements, Recurring            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Unrealized gain (loss) on investment securities     37,497 37,497    
Fair Value, Measurements, Recurring | Level 1            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Assets, Fair Value Disclosure 0 0 0 0    
Fair Value, Measurements, Recurring | Level 2            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Available-for-sale equity securities 131,241 112,492 131,241 112,492 $ 93,744 $ 74,995
Unrealized gain (loss)     37,497 37,497    
Assets, Fair Value Disclosure 131,241 112,492 131,241 112,492    
Fair Value, Measurements, Recurring | Level 3            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Assets, Fair Value Disclosure 0 0 0 0    
Estimate of Fair Value Measurement | Fair Value, Measurements, Recurring            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Assets, Fair Value Disclosure 131,241 112,492 131,241 112,492    
Eurosite Power, Inc. | Fair Value, Measurements, Recurring            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Unrealized gain (loss) on investment securities     37,497 37,497    
Eurosite Power, Inc. | Fair Value, Measurements, Recurring | Level 1            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Available-for-sale equity securities 0 0 0 0    
Eurosite Power, Inc. | Fair Value, Measurements, Recurring | Level 2            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Available-for-sale equity securities 131,241 112,492 131,241 112,492    
Eurosite Power, Inc. | Fair Value, Measurements, Recurring | Level 3            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Available-for-sale equity securities 0 0 0 0    
Eurosite Power, Inc. | Estimate of Fair Value Measurement | Fair Value, Measurements, Recurring            
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]            
Available-for-sale equity securities $ 131,241 $ 112,492 $ 131,241 $ 112,492    
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measurements - Change in Level 2 Assets (Details) - Fair Value, Measurements, Recurring - Level 2 - USD ($)
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair value, beginning $ 93,744 $ 74,995
Unrealized gain (loss) 37,497 37,497
Fair value, ending 131,241 112,492
Eurosite Power, Inc.    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair value, ending $ 131,241 $ 112,492
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies (Details)
Nov. 23, 2022
CAD ($)
Dec. 31, 2022
USD ($)
Loss Contingencies [Line Items]    
Damages sought $ 1,000,000  
Guarantee liability   $ 150,000
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Segments (Details)
3 Months Ended 6 Months Ended
Jun. 30, 2023
USD ($)
Jun. 30, 2022
USD ($)
Jun. 30, 2023
USD ($)
segment
Jun. 30, 2022
USD ($)
Dec. 31, 2022
USD ($)
Segment Reporting Information [Line Items]          
Number of operating divisions | segment     3    
Revenue $ 6,748,758 $ 6,414,593 $ 12,128,576 $ 13,852,916  
Gross profit 2,834,426 2,703,449 4,926,335 5,794,238  
Assets 29,800,185 30,333,724 29,800,185 30,333,724 $ 28,252,857
Products          
Segment Reporting Information [Line Items]          
Revenue 2,445,631 3,010,115 4,155,767 6,949,596  
Gross profit 827,175 994,649 1,324,743 2,289,375  
Assets 9,955,171 11,237,886 9,955,171 11,237,886  
Maintenance services          
Segment Reporting Information [Line Items]          
Revenue 4,019,114 3,112,606 7,243,501 6,125,140  
Gross profit 1,877,102 1,576,605 3,275,673 3,127,133  
Assets 13,051,494 9,799,483 13,051,494 9,799,483  
Energy production          
Segment Reporting Information [Line Items]          
Revenue 350,156 354,287 883,665 935,849  
Gross profit 130,149 132,195 325,919 377,730  
Assets 3,284,542 3,855,043 3,284,542 3,855,043  
Corporate, other and elimination          
Segment Reporting Information [Line Items]          
Revenue (66,143) (62,415) (154,357) (157,669)  
Gross profit 0 0 0 0  
Assets 3,508,978 5,441,312 3,508,978 5,441,312  
Operating Segments          
Segment Reporting Information [Line Items]          
Revenue 6,748,758 6,414,593 12,128,576 13,852,916  
Operating Segments | Products          
Segment Reporting Information [Line Items]          
Revenue 2,445,631 3,010,115 4,155,767 6,949,596  
Operating Segments | Maintenance services          
Segment Reporting Information [Line Items]          
Revenue 3,952,971 3,050,191 7,089,144 5,967,471  
Operating Segments | Energy production          
Segment Reporting Information [Line Items]          
Revenue 350,156 354,287 883,665 935,849  
Operating Segments | Corporate, other and elimination          
Segment Reporting Information [Line Items]          
Revenue 0 0 0 0  
Intersegment Eliminations          
Segment Reporting Information [Line Items]          
Revenue 0 0 0 0  
Intersegment Eliminations | Products          
Segment Reporting Information [Line Items]          
Revenue 0 0 0 0  
Intersegment Eliminations | Maintenance services          
Segment Reporting Information [Line Items]          
Revenue 66,143 62,415 154,357 157,669  
Intersegment Eliminations | Energy production          
Segment Reporting Information [Line Items]          
Revenue 0 0 0 0  
Intersegment Eliminations | Corporate, other and elimination          
Segment Reporting Information [Line Items]          
Revenue $ (66,143) $ (62,415) $ (154,357) $ (157,669)  
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Aegis Contract and Related Asset Acquisition (Details) - Aegis Energy Services, LLC
3 Months Ended
Mar. 15, 2023
USD ($)
employee
vehicle
Jan. 12, 2023
USD ($)
Apr. 14, 2022
USD ($)
Jun. 30, 2023
USD ($)
Sep. 30, 2021
USD ($)
Asset Acquisition [Line Items]          
Assets acquired | vehicle 8        
Employees acquired | employee 8        
Cash $ 170,000        
Accounts receivable credit issued 300,000        
Account payable 111,178        
Contingent consideration 1,442,462        
Total fair value of consideration transferred 2,023,639 $ 667,121 $ 564,027   $ 562,752
Property, plant and equipment 170,000        
Inventory 411,178        
Identifiable intangible asset - customer contracts 1,591,327        
Assets acquired 2,172,505        
Deferred maintenance reserve (871,856)        
Liabilities assumed (871,856)        
Net identifiable assets acquired 1,300,649        
Goodwill 722,991        
Total revenues       $ 628,813  
Net income (loss)       $ 411,106  
Contingent consideration 164,357        
Deferred maintenance reserve 484,884        
Liabilities assumed, current 649,241        
Contingent consideration 1,278,105        
Deferred maintenance reserve 365,462        
Liabilities assumed, noncurrent $ 1,643,567        
Measurement Input, Discount Rate          
Asset Acquisition [Line Items]          
Intangible Assets, Measurement Input 15.00%        
Measurement Input, WACC          
Asset Acquisition [Line Items]          
Intangible Assets, Measurement Input 12.00%        
XML 60 tgen-20230630_htm.xml IDEA: XBRL DOCUMENT 0001537435 2023-01-01 2023-06-30 0001537435 2023-06-30 0001537435 2022-12-31 0001537435 2022-06-30 0001537435 us-gaap:ProductMember 2023-04-01 2023-06-30 0001537435 us-gaap:ProductMember 2022-04-01 2022-06-30 0001537435 us-gaap:ServiceMember 2023-04-01 2023-06-30 0001537435 us-gaap:ServiceMember 2022-04-01 2022-06-30 0001537435 us-gaap:EnergyServiceMember 2023-04-01 2023-06-30 0001537435 us-gaap:EnergyServiceMember 2022-04-01 2022-06-30 0001537435 2023-04-01 2023-06-30 0001537435 2022-04-01 2022-06-30 0001537435 us-gaap:ProductMember 2023-01-01 2023-06-30 0001537435 us-gaap:ProductMember 2022-01-01 2022-06-30 0001537435 us-gaap:ServiceMember 2023-01-01 2023-06-30 0001537435 us-gaap:ServiceMember 2022-01-01 2022-06-30 0001537435 us-gaap:EnergyServiceMember 2023-01-01 2023-06-30 0001537435 us-gaap:EnergyServiceMember 2022-01-01 2022-06-30 0001537435 2022-01-01 2022-06-30 0001537435 us-gaap:CommonStockMember 2023-03-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001537435 us-gaap:RetainedEarningsMember 2023-03-31 0001537435 us-gaap:NoncontrollingInterestMember 2023-03-31 0001537435 2023-03-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001537435 us-gaap:NoncontrollingInterestMember 2023-04-01 2023-06-30 0001537435 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001537435 us-gaap:CommonStockMember 2023-06-30 0001537435 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001537435 us-gaap:RetainedEarningsMember 2023-06-30 0001537435 us-gaap:NoncontrollingInterestMember 2023-06-30 0001537435 us-gaap:CommonStockMember 2022-12-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001537435 us-gaap:RetainedEarningsMember 2022-12-31 0001537435 us-gaap:NoncontrollingInterestMember 2022-12-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-06-30 0001537435 us-gaap:NoncontrollingInterestMember 2023-01-01 2023-06-30 0001537435 us-gaap:RetainedEarningsMember 2023-01-01 2023-06-30 0001537435 us-gaap:CommonStockMember 2022-03-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001537435 us-gaap:RetainedEarningsMember 2022-03-31 0001537435 us-gaap:NoncontrollingInterestMember 2022-03-31 0001537435 2022-03-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001537435 us-gaap:NoncontrollingInterestMember 2022-04-01 2022-06-30 0001537435 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001537435 us-gaap:CommonStockMember 2022-06-30 0001537435 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001537435 us-gaap:RetainedEarningsMember 2022-06-30 0001537435 us-gaap:NoncontrollingInterestMember 2022-06-30 0001537435 us-gaap:CommonStockMember 2021-12-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001537435 us-gaap:RetainedEarningsMember 2021-12-31 0001537435 us-gaap:NoncontrollingInterestMember 2021-12-31 0001537435 2021-12-31 0001537435 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-06-30 0001537435 us-gaap:NoncontrollingInterestMember 2022-01-01 2022-06-30 0001537435 us-gaap:RetainedEarningsMember 2022-01-01 2022-06-30 0001537435 tgen:AmericanDgEnergyMember 2017-05-18 2017-05-18 0001537435 tgen:AegisEnergyServicesLLCMember 2023-03-15 2023-03-15 0001537435 2021-04-01 2021-06-30 0001537435 tgen:AegisEnergyServicesLLCMember 2021-07-01 2021-09-30 0001537435 tgen:AegisEnergyServicesLLCMember 2022-04-14 2022-04-14 0001537435 2021-07-01 2021-09-30 0001537435 tgen:AegisEnergyServicesLLCMember 2023-01-12 2023-01-12 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ProductsSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ServicesSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:EnergyProductionMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ProductsSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ServicesSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:EnergyProductionMember 2023-04-01 2023-06-30 0001537435 tgen:MaintenanceServicesMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ProductsSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ServicesSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:EnergyProductionMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ProductsSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ServicesSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:EnergyProductionMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ProductsSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ServicesSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:EnergyProductionMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ProductsSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ServicesSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:EnergyProductionMember 2023-01-01 2023-06-30 0001537435 tgen:MaintenanceServicesMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ProductsSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ServicesSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:EnergyProductionMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ProductsSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ServicesSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:EnergyProductionMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ProductsSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ServicesSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:EnergyProductionMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ProductsSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ServicesSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:EnergyProductionMember 2022-04-01 2022-06-30 0001537435 tgen:MaintenanceServicesMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ProductsSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ServicesSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:EnergyProductionMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ProductsSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ServicesSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:EnergyProductionMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:ProductMember tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:InstallationServicesMember tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:InstallationServicesMember tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:InstallationServicesMember tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 tgen:InstallationServicesMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:MaintenanceServicesMember tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 tgen:MaintenanceServicesMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:EnergyServiceMember tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 us-gaap:EmployeeStockOptionMember 2023-04-01 2023-06-30 0001537435 us-gaap:EmployeeStockOptionMember 2022-04-01 2022-06-30 0001537435 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-06-30 0001537435 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-06-30 0001537435 srt:MinimumMember us-gaap:EnergyEquipmentMember 2023-06-30 0001537435 srt:MaximumMember us-gaap:EnergyEquipmentMember 2023-06-30 0001537435 us-gaap:EnergyEquipmentMember 2023-06-30 0001537435 us-gaap:EnergyEquipmentMember 2022-12-31 0001537435 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2023-06-30 0001537435 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2023-06-30 0001537435 us-gaap:MachineryAndEquipmentMember 2023-06-30 0001537435 us-gaap:MachineryAndEquipmentMember 2022-12-31 0001537435 us-gaap:FurnitureAndFixturesMember 2023-06-30 0001537435 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001537435 srt:MinimumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001537435 srt:MaximumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001537435 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001537435 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001537435 us-gaap:LeaseholdImprovementsMember 2023-06-30 0001537435 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001537435 tgen:ProductCertificationMember 2023-06-30 0001537435 tgen:ProductCertificationMember 2022-12-31 0001537435 us-gaap:PatentsMember 2023-06-30 0001537435 us-gaap:PatentsMember 2022-12-31 0001537435 us-gaap:DevelopedTechnologyRightsMember 2023-06-30 0001537435 us-gaap:DevelopedTechnologyRightsMember 2022-12-31 0001537435 us-gaap:TrademarksMember 2023-06-30 0001537435 us-gaap:TrademarksMember 2022-12-31 0001537435 us-gaap:InProcessResearchAndDevelopmentMember 2023-06-30 0001537435 us-gaap:InProcessResearchAndDevelopmentMember 2022-12-31 0001537435 us-gaap:ContractBasedIntangibleAssetsMember 2023-06-30 0001537435 us-gaap:ContractBasedIntangibleAssetsMember 2022-12-31 0001537435 tgen:TTcogenIntangibleAssetsMember 2023-06-30 0001537435 tgen:TTcogenIntangibleAssetsMember 2022-12-31 0001537435 tgen:NonContractRelatedIntangibleAssetsMember tgen:ContractAssetAndLiabilityMember 2023-06-30 0001537435 us-gaap:CustomerContractsMember tgen:ContractAssetAndLiabilityMember 2023-06-30 0001537435 tgen:ContractAssetAndLiabilityMember 2023-06-30 0001537435 2021-01-01 2021-03-31 0001537435 tgen:AegisEnergyServicesLLCMember 2023-03-15 0001537435 tgen:AegisEnergyServicesLLCMember us-gaap:MeasurementInputDiscountRateMember 2023-03-15 2023-03-15 0001537435 tgen:AegisEnergyServicesLLCMember tgen:MeasurementInputWACCMember 2023-03-15 2023-03-15 0001537435 tgen:AegisEnergyServicesLLCMember 2023-04-01 2023-06-30 0001537435 srt:ScenarioForecastMember 2024-01-01 2024-01-01 0001537435 srt:MinimumMember 2023-01-01 2023-06-30 0001537435 srt:MaximumMember 2023-01-01 2023-06-30 0001537435 srt:ParentCompanyMember us-gaap:EmployeeStockOptionMember tgen:AmendedStockOptionandIncentivePlan2006Member 2023-06-30 0001537435 tgen:NonqualifiedOptionsMember tgen:A2022StockIncentivePlanMember 2022-06-09 0001537435 tgen:A2022StockIncentivePlanMember 2023-06-30 0001537435 tgen:NonqualifiedOptionsMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2023-01-01 2023-06-30 0001537435 us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2023-06-30 0001537435 srt:ParentCompanyMember 2023-01-01 2023-06-30 0001537435 srt:ParentCompanyMember 2022-12-31 0001537435 srt:ParentCompanyMember 2023-01-01 2023-03-31 0001537435 srt:ParentCompanyMember 2021-01-01 2021-03-31 0001537435 srt:ParentCompanyMember srt:MinimumMember 2023-01-01 2023-06-30 0001537435 srt:ParentCompanyMember 2023-06-30 0001537435 us-gaap:EmployeeStockOptionMember 2023-06-30 0001537435 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-06-30 0001537435 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2023-06-30 0001537435 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2023-06-30 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2023-06-30 0001537435 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2023-06-30 0001537435 us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2023-01-01 2023-06-30 0001537435 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001537435 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001537435 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001537435 us-gaap:FairValueMeasurementsRecurringMember 2023-01-01 2023-06-30 0001537435 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2022-06-30 0001537435 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2022-06-30 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2022-06-30 0001537435 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2022-06-30 0001537435 us-gaap:FairValueMeasurementsRecurringMember tgen:EurositePowerIncMember 2022-01-01 2022-06-30 0001537435 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001537435 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001537435 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001537435 us-gaap:FairValueMeasurementsRecurringMember 2022-01-01 2022-06-30 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-01-01 2023-06-30 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001537435 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-01-01 2022-06-30 0001537435 2022-11-23 2022-11-23 0001537435 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2023-04-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember 2023-04-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ProductsSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ServicesSegmentMember 2023-04-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:EnergyProductionMember 2023-04-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember us-gaap:CorporateAndOtherMember 2023-04-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember 2023-04-01 2023-06-30 0001537435 tgen:ProductsSegmentMember 2023-04-01 2023-06-30 0001537435 tgen:ServicesSegmentMember 2023-04-01 2023-06-30 0001537435 tgen:EnergyProductionMember 2023-04-01 2023-06-30 0001537435 us-gaap:CorporateAndOtherMember 2023-04-01 2023-06-30 0001537435 tgen:ProductsSegmentMember 2023-06-30 0001537435 tgen:ServicesSegmentMember 2023-06-30 0001537435 tgen:EnergyProductionMember 2023-06-30 0001537435 us-gaap:CorporateAndOtherMember 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember 2023-01-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ProductsSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ServicesSegmentMember 2023-01-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:EnergyProductionMember 2023-01-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember us-gaap:CorporateAndOtherMember 2023-01-01 2023-06-30 0001537435 us-gaap:IntersegmentEliminationMember 2023-01-01 2023-06-30 0001537435 tgen:ProductsSegmentMember 2023-01-01 2023-06-30 0001537435 tgen:ServicesSegmentMember 2023-01-01 2023-06-30 0001537435 tgen:EnergyProductionMember 2023-01-01 2023-06-30 0001537435 us-gaap:CorporateAndOtherMember 2023-01-01 2023-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2022-04-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember 2022-04-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ProductsSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ServicesSegmentMember 2022-04-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:EnergyProductionMember 2022-04-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember us-gaap:CorporateAndOtherMember 2022-04-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember 2022-04-01 2022-06-30 0001537435 tgen:ProductsSegmentMember 2022-04-01 2022-06-30 0001537435 tgen:ServicesSegmentMember 2022-04-01 2022-06-30 0001537435 tgen:EnergyProductionMember 2022-04-01 2022-06-30 0001537435 us-gaap:CorporateAndOtherMember 2022-04-01 2022-06-30 0001537435 tgen:ProductsSegmentMember 2022-06-30 0001537435 tgen:ServicesSegmentMember 2022-06-30 0001537435 tgen:EnergyProductionMember 2022-06-30 0001537435 us-gaap:CorporateAndOtherMember 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2022-01-01 2022-06-30 0001537435 us-gaap:OperatingSegmentsMember 2022-01-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember us-gaap:CorporateAndOtherMember 2022-01-01 2022-06-30 0001537435 us-gaap:IntersegmentEliminationMember 2022-01-01 2022-06-30 0001537435 tgen:ProductsSegmentMember 2022-01-01 2022-06-30 0001537435 tgen:ServicesSegmentMember 2022-01-01 2022-06-30 0001537435 tgen:EnergyProductionMember 2022-01-01 2022-06-30 0001537435 us-gaap:CorporateAndOtherMember 2022-01-01 2022-06-30 shares iso4217:USD iso4217:USD shares pure tgen:sale tgen:site tgen:vehicle tgen:employee utr:sqft iso4217:CAD tgen:segment 2023-06-30 0001537435 --12-31 2023-06-30 2023 Q2 false 2023-06-30 0.001 0.001 100000000 100000000 24850261 24850261 24850261 24850261 24850261 http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent 10-Q true 2023-06-30 false 001-36103 TECOGEN INC. DE 04-3536131 45 First Avenue Waltham MA 02451 781 466-6402 Yes Yes Non-accelerated Filer false true false 24850261 2023-06-30 1871063 1913969 5614291 5614291 6714122 1748336 1805330 46148 713269 12027525 10482729 467390 401189 21774753 22030608 1352318 1407720 920690 1245549 2421379 997594 3129147 2406156 201898 165230 29800185 28252857 4212914 3261952 2554000 2384447 2086174 1115627 513811 687589 649241 0 213559 236705 10229699 7686320 154149 371823 459372 623452 1643567 0 490802 583512 12977589 9265107 24850 24850 57456945 57351008 -40551687 -38281548 16930108 19094310 -107512 -106560 16822596 18987750 29800185 28252857 2023-06-30 2445631 3010115 3952971 3050191 350156 354287 6748758 6414593 1618456 2015466 2075869 1473586 220007 222092 3914332 3711144 2834426 2703449 2917283 2824832 480786 503601 236556 194853 19950 2500 3614675 3520786 -780249 -817337 -21061 -1265 1857 12733 37497 0 14579 -13998 -765670 -831335 9614 6500 -775284 -837835 4826 18383 -780110 -856218 -0.03 -0.03 -0.03 -0.03 24850261 24850261 24850261 24850261 2023-06-30 4155767 6949596 7089144 5967471 883665 935849 12128576 13852916 2831024 4660221 3813471 2840338 557746 558119 7202241 8058678 4926335 5794238 5709766 5298735 1000856 1004692 465658 334988 19950 36445 0 71375 7156330 6530595 -2229995 -736357 -20231 -15416 2272 13561 37497 37497 14994 8520 -2215001 -727837 32252 10430 -2247253 -738267 22886 28542 -2270139 -766809 -0.09 -0.03 -0.09 -0.03 24850261 24850261 24850261 24850261 24850261 24850 57428356 -39771577 -88500 17593129 28589 28589 23838 23838 -780110 4826 -775284 24850261 24850 57456945 -40551687 -107512 16822596 24850261 24850 57351008 -38281548 -106560 18987750 105937 105937 -23838 23838 -2270139 22886 -2247253 24850261 24850 57456945 -40551687 -107512 16822596 24850261 24850 57112566 -35744212 -85420 21307784 89893 89893 -17169 17169 -856218 18383 -837835 24850261 24850 57202459 -36600430 -84206 20542673 24850261 24850 57016859 -35833621 -79939 21128149 185600 185600 -32809 32809 -766809 28542 -738267 24850261 24850 57202459 -36600430 -84206 20542673 2023-06-30 -2247253 -738267 291095 217718 105937 185600 44000 46000 19950 36445 37497 37497 0 71375 -755831 444541 -667121 -562752 -56994 -1117057 1133618 438102 66201 22618 -325688 -308282 839784 -247876 178241 -74490 752873 -589158 -359369 -316217 153676 -579177 19607 209034 170000 0 0 29505 16863 67169 23838 32809 -196582 -204179 0 0 -42906 -783356 1913969 3614463 1871063 2831107 1443 12733 32252 10430 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Description of Business and Basis of Presentation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><div style="margin-bottom:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Description of Business</span></div><div style="margin-bottom:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Tecogen Inc. (together with its subsidiaries, “we,” “our,” or “us,” or “Tecogen”) designs, manufactures, markets, and maintains high efficiency, ultra-clean cogeneration products. These include natural gas engine driven combined heat and power (CHP) systems, chillers and heat pumps for multi-family residential, commercial, recreational and industrial use.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are known for products that provide customers with substantial energy savings, resiliency from utility power outages and for significantly reducing a customer’s carbon footprint. Our products are sold with our patented Ultera® emissions technology which nearly eliminates all criteria pollutants such as nitrogen oxide ("NOx") and carbon monoxide ("CO"). We developed Ultera® for other applications including stationary engines and forklifts. We were incorporated in the State of Delaware on September 15, 2000.</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have wholly-owned subsidiaries American DG Energy, Inc. ("ADGE") and Tecogen CHP Solutions, Inc., and we own a 51% interest in American DG New York, LLC ("ADGNY"), a joint venture. ADGE and ADGNY distribute, own, and operate clean, on-site energy systems that produce electricity, hot water, heat and cooling. ADGE and ADGNY own the equipment that is installed at customers' facilities and sell the energy produced to the customer on a long-term contractual basis. </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our operations are comprised of three business segments:</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">our Products segment, which designs, manufactures and sells industrial and commercial cogeneration systems; </span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">our Services segment, which provides operations and maintenance ("O&amp;M") services for our products under long term service contracts, and</span></div><div style="margin-bottom:6pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our Energy Production segment, which sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term energy sales agreements.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The majority of our customers are located in regions with the highest utility rates, typically California, the Midwest and the Northeast. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">On July 20, 2022, we announced our intention to increase focus on opportunities relating to Controlled Environment Agriculture (CEA). Tecogen believes that CEA offers an exciting opportunity to apply the company’s expertise in clean cooling, power generation, and greenhouse gas reduction to address critical issues affecting food and energy security.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our common stock is quoted on OTC Markets Group, Inc.'s OTCQX Best Market tier and trades under the symbol "TGEN."</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 18, 2017, we acquired 100% of the outstanding common stock of American DG Energy Inc., formerly a related entity, in a stock-for-stock merger. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services for approximately 200 cogeneration systems, and acquired certain vehicles and inventory used by Aegis in connection with the performance of such maintenance services, and, following closing hired eight (8) Aegis employees to provide services with respect to such maintenance agreements. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. See Note 8. - Aegis Contract and Related Asset Acquisition.</span></div><div style="margin-bottom:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation</span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all the information and footnotes required by generally accepted accounting principles for complete financial statements. In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The condensed consolidated balance sheet at December 31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by generally accepted accounting principles for complete financial statements. </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For further information, refer to the consolidated financial statements and footnotes thereto included in Tecogen's Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The accompanying unaudited condensed consolidated financial statements include our accounts and the accounts of entities in which we have a controlling financial interest. Those entities include our wholly-owned subsidiaries American DG Energy Inc., Tecogen CHP Solutions, Inc., and a joint venture, American DG New York, LLC, in which American DG Energy Inc. holds a 51% interest. Investments in partnerships and companies in which we do not have a controlling financial interest but where we have significant influence are accounted for under the equity method. Any intercompany transactions have been eliminated in consolidation. </span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Our operations are comprised of three business segments. Our Products segment designs, manufactures and sells industrial and commercial cogeneration systems as described above. Our Services segment provides operation and maintenance services to customers for our products. Our Energy Production segment sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term sales agreements. </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">    </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provisions for income taxes in the accompanying unaudited consolidated statements of operations differ from that which would be expected by applying the federal statutory tax rate primarily due to losses for which no benefit is recognized.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Retention Credit</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was signed into law providing numerous tax provisions and other stimulus measures, including an employee retention credit (“ERC”), which is a refundable tax credit against certain employment taxes. The Taxpayer Certainty and Disaster Tax Relief Act of 2020 and the American Rescue Plan Act of 2021 extended and expanded the availability of the ERC.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of our election to use an alternative quarter, we qualified for the ERC in the first, second and third quarters of 2021 because our gross receipts decreased by more than 20% from the first, second and third quarters of 2019. As a result of averaging 100 or fewer full-time employees in 2019, all wages paid to employees in the first, second and third quarters of 2021, excluding the wages applied to the Paycheck Protection Program Second Draw Loan, were eligible for the ERC. </span></div>During the three months ended June 30, 2021, we recorded an ERC benefit for the first and second quarters of 2021 of $713,269 and, in the three months ended September 30, 2021 we recorded an ERC benefit for the third quarter of 2021 of $562,752, respectively, in other income (expense), net in the our condensed consolidated statements of operations. On April 14, 2022, we received $564,027 from the Internal Revenue Service representing the ERC claim for the third quarter of 2021 and $1,275 of accrued interest. We received $667,121 from the Internal Revenue Service on January 12, 2023 in payment of the ERC claimed from the first and second quarters of 2021 and $15,775 of accrued interest, which is reported in other income (expense) in our condensed consolidated statements of operations for the six months ended June 30, 2023. A current receivable in the amount of $46,148 is included in our condensed consolidated balance sheet as of June 30, 2023. We expect to receive the remaining balance in 2023 0.51 1 170000 300000 <div style="margin-bottom:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation</span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all the information and footnotes required by generally accepted accounting principles for complete financial statements. In the opinion of management, all adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The condensed consolidated balance sheet at December 31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by generally accepted accounting principles for complete financial statements. </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For further information, refer to the consolidated financial statements and footnotes thereto included in Tecogen's Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The accompanying unaudited condensed consolidated financial statements include our accounts and the accounts of entities in which we have a controlling financial interest. Those entities include our wholly-owned subsidiaries American DG Energy Inc., Tecogen CHP Solutions, Inc., and a joint venture, American DG New York, LLC, in which American DG Energy Inc. holds a 51% interest. Investments in partnerships and companies in which we do not have a controlling financial interest but where we have significant influence are accounted for under the equity method. Any intercompany transactions have been eliminated in consolidation. </span></div>    Our operations are comprised of three business segments. Our Products segment designs, manufactures and sells industrial and commercial cogeneration systems as described above. Our Services segment provides operation and maintenance services to customers for our products. Our Energy Production segment sells energy in the form of electricity, heat, hot water and cooling to our customers under long-term sales agreements. 2023-06-30 0.51 Use of Estimates    The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates <div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">    </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provisions for income taxes in the accompanying unaudited consolidated statements of operations differ from that which would be expected by applying the federal statutory tax rate primarily due to losses for which no benefit is recognized.</span></div> 713269 562752 564027 1275 667121 15775 2023-06-30 46148 2023-06-30 2023-06-30 2445631 0 0 2445631 0 3952971 0 3952971 0 0 350156 350156 2445631 3952971 350156 6748758 4155767 0 0 4155767 0 7089144 0 7089144 0 0 883665 883665 4155767 7089144 883665 12128576 3010115 0 0 3010115 0 3050191 0 3050191 0 0 354287 354287 3010115 3050191 354287 6414593 6949596 0 0 6949596 0 20109 0 20109 0 5947362 0 5947362 0 0 935849 935849 6949596 5967471 935849 13852916 2023-06-30 16428 2023-06-30 648435 2023-06-30 2200000 0.989 0.931 0.058 Income Per Common Share <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Basic and diluted loss per share for the three and six months ended June 30, 2023 and 2022, respectively, were as follows: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.003%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.978%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss available to stockholders</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(780,110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(856,218)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,270,139)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(766,809)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average shares outstanding - Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of dilutive securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average shares outstanding - Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic loss per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.09)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted loss per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.09)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Anti-dilutive shares underlying stock options outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,831,851 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">925,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,831,851 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">925,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Basic and diluted loss per share for the three and six months ended June 30, 2023 and 2022, respectively, were as follows: <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.003%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.978%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss available to stockholders</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(780,110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(856,218)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,270,139)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(766,809)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average shares outstanding - Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of dilutive securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average shares outstanding - Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,850,261 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic loss per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.09)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted loss per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.09)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.03)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Anti-dilutive shares underlying stock options outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,831,851 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">925,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,831,851 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">925,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2023-06-30 -780110 -856218 -2270139 -766809 24850261 24850261 24850261 24850261 0 0 0 0 24850261 24850261 24850261 24850261 -0.03 -0.03 -0.09 -0.03 -0.03 -0.03 -0.09 -0.03 1831851 925396 1831851 925396 Inventories, net Inventories at June 30, 2023 and December 31, 2022 consisted of the following:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.485%"><tr><td style="width:1.0%"></td><td style="width:55.503%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.220%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.223%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,895,804 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,001,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,001,676 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">498,139 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,130,045 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">983,099 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,027,525 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,482,729 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> Inventories at June 30, 2023 and December 31, 2022 consisted of the following:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.485%"><tr><td style="width:1.0%"></td><td style="width:55.503%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.220%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.223%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,895,804 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,001,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,001,676 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">498,139 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,130,045 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">983,099 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,027,525 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,482,729 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2023-06-30 2023-06-30 9895804 9001491 1001676 498139 1130045 983099 12027525 10482729 Property, Plant and Equipment, net <div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment at June 30, 2023 and December 31, 2022 consisted of the following:</span></div><div style="margin-top:5pt;text-align:center;text-indent:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:465.00pt"><tr><td style="width:1.0pt"></td><td style="width:208.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:78.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:79.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:79.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:24pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Estimated Useful<br/>Life (in Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy systems</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1 - 15 years</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,810,232 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,810,232 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5 - 7 years</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,766,945 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,624,885 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5 years</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,170 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">196,007 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3 - 5 years</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">192,865 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">192,865 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">466,789 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">466,789 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,435,001 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,290,778 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less - accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,082,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,883,058)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,352,318 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,407,720 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;text-indent:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">* Lesser of estimated useful life of asset or lease term</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Depreciation and amortization expense on property and equipment for the three and six months ended June 30, 2023 and 2022 was $161,701 and $279,193 and $123,818 and $250,610, respectively. During the six months ended June 30, 2023, we received proceeds of $16,863 from the disposition of certain assets and reversed $8,687 of accrued decomissioning costs from a former ADG energy site, realizing a gain of $19,950. During the six months ended June 30, 2022, we received proceeds of $67,169 from the disposition of certain assets, realizing a gain of $36,445.</span></div> <div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment at June 30, 2023 and December 31, 2022 consisted of the following:</span></div><div style="margin-top:5pt;text-align:center;text-indent:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:465.00pt"><tr><td style="width:1.0pt"></td><td style="width:208.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:78.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:79.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:79.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:24pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Estimated Useful<br/>Life (in Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy systems</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1 - 15 years</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,810,232 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,810,232 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5 - 7 years</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,766,945 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,624,885 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5 years</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,170 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">196,007 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3 - 5 years</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">192,865 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">192,865 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">466,789 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">466,789 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,435,001 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,290,778 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less - accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,082,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,883,058)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,352,318 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,407,720 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;text-indent:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">* Lesser of estimated useful life of asset or lease term</span></div> 2023-06-30 2023-06-30 P1Y P15Y 2810232 2810232 P5Y P7Y 1766945 1624885 P5Y 198170 196007 P3Y P5Y 192865 192865 466789 466789 5435001 5290778 4082683 3883058 1352318 1407720 2023-06-30 161701 279193 123818 250610 2023-06-30 16863 19950 67169 36445 Intangible Assets and Liabilities Other Than Goodwill <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    As of June 30, 2023 and December 31, 2022 we had the following amounts related to intangible assets and liabilities other than goodwill:</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:504.75pt"><tr><td style="width:1.0pt"></td><td style="width:114.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:55.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:60.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:52.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:52.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:60.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:60.25pt"></td><td style="width:1.0pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr style="height:24pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cost</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cost</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Product certifications</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">777,465 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(618,749)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">158,716 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">777,465 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(584,863)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">192,602 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">888,910 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(452,914)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">435,996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">888,910 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(405,140)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">240,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(164,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">76,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">240,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(156,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">84,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In Process R&amp;D</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263,936 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(84,837)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">179,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263,936 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(65,984)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Favorable contract asset</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">384,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(374,287)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">384,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(372,091)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,374 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer contract </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,591,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(56,833)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,534,494 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,172,999 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,751,620)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,421,379 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,581,672 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,584,078)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">997,594 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible liability</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unfavorable contract liability</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,618,168 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,913,807)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">704,361 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,618,168 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,797,951)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">820,217 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate amortization expense related to intangible assets and liabilities exclusive of unfavorable contract related intangibles for the three and six months ended June 30, 2023 and 2022 was $117,833 and $167,194 and $50,469 and $100,491, respectively. The net credit to cost of sales related to the amortization of the unfavorable contract related intangible asset and liability for the three and six months ended June 30, 2023 and 2022 was $54,575 and $115,508 and $62,857 and $133,383, respectively. </span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Favorable/Unfavorable Contract Assets and Liabilities and Customer Contract Assets </span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The favorable contract asset and unfavorable contract liability in the foregoing table represent the estimated fair value of American DG Energy's customer contracts (both positive for favorable contracts and negative for unfavorable contracts) which were acquired by us in May 2017 and include the customer relationship contract acquired by us in April 2023 as part of the Aegis acquisition. The Aegis customer relationship contract is being amortized on a straight-line basis over a period of seven (7) years which is consistent with the projected revenue recognition.</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Amortization of intangibles including contract related amounts is calculated using the straight-line method over the remaining useful life or contract term. Aggregate future amortization over the next five years and thereafter as of June 30, 2023 is estimated to be as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:340.50pt"><tr><td style="width:1.0pt"></td><td style="width:123.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:6.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:61.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:61.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:73.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:30pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Non-contract Related Intangibles</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Related Intangibles</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,504 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,774 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,278 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">179,922 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">95,572 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">275,494 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176,029 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">143,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">319,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 4</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">172,418 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">165,490 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">337,908 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 5 </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">174,871 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">274,919 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,068 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">237,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">285,124 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">859,989 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">830,133 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,690,122 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized a gain on termination of unfavorable contract liability of $71,375 in the six months ended June 30, 2022 due to the closing of certain energy production sites.</span></div> As of June 30, 2023 and December 31, 2022 we had the following amounts related to intangible assets and liabilities other than goodwill:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:504.75pt"><tr><td style="width:1.0pt"></td><td style="width:114.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:55.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:60.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:52.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:52.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:60.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:60.25pt"></td><td style="width:1.0pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr style="height:24pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cost</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cost</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Product certifications</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">777,465 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(618,749)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">158,716 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">777,465 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(584,863)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">192,602 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">888,910 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(452,914)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">435,996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">888,910 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(405,140)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483,770 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">240,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(164,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">76,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">240,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(156,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">84,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In Process R&amp;D</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263,936 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(84,837)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">179,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263,936 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(65,984)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Favorable contract asset</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">384,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(374,287)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">384,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(372,091)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,374 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer contract </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,591,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(56,833)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,534,494 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,172,999 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,751,620)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,421,379 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,581,672 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,584,078)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">997,594 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible liability</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unfavorable contract liability</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,618,168 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,913,807)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">704,361 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,618,168 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,797,951)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">820,217 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2023-06-30 2023-06-30 777465 618749 158716 777465 584863 192602 888910 452914 435996 888910 405140 483770 240000 164000 76000 240000 156000 84000 26896 0 26896 26896 0 26896 263936 84837 179099 263936 65984 197952 384465 374287 10178 384465 372091 12374 1591327 56833 1534494 0 0 0 4172999 1751620 2421379 2581672 1584078 997594 2618168 1913807 704361 2618168 1797951 820217 2023-06-30 117833 167194 50469 100491 2023-06-30 54575 115508 62857 133383 Aggregate future amortization over the next five years and thereafter as of June 30, 2023 is estimated to be as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:340.50pt"><tr><td style="width:1.0pt"></td><td style="width:123.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:6.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:61.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:61.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:73.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:30pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Non-contract Related Intangibles</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Related Intangibles</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,504 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,774 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,278 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">179,922 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">95,572 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">275,494 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176,029 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">143,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">319,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 4</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">172,418 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">165,490 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">337,908 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 5 </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">174,871 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">274,919 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,068 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">237,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">285,124 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">859,989 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">830,133 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,690,122 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2023-06-30 183504 -13774 -197278 179922 -95572 -275494 176029 -143370 -319399 172418 -165490 337908 100048 -174871 274919 48068 -237056 -285124 859989 -830133 -1690122 71375 Sale of Energy Producing Assets and Goodwill ImpairmentDuring the first quarter of 2019 we recognized two individual sales of energy producing assets, for a total of eight power purchase agreements, including the associated energy production contracts for total consideration of $7 million.<div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    In connection with these assets sales, we entered into agreements with the purchaser to maintain and operate the assets over the remaining periods of the associated energy production contracts (through August 2033 and January 2034, respectively) in exchange for monthly maintenance and operating fees. These agreements contain provisions whereby we have guaranteed to the purchaser a minimum level or threshold of cash flows from the associated energy production contracts. In October 2021 the minimum guarantee with respect to one of the energy purchase agreements was modified by reducing the guaranteed minimum collections by $35,000 per year, the guaranteed minimum collection amount associated with one site that was sold by the customer. Actual results are compared to the minimum threshold bi-annually and we are contractually obligated to reimburse any shortfall to the purchaser. To the extent actual cash flow results exceed the minimum threshold, we are entitled to fifty percent of such excess under the agreements. Based upon an analysis of these energy producing assets expected future performance, as of June 30, 2023 we do not expect to make any material payments under the guarantee. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At June 30, 2023, we were due $22,229 under the energy production contracts, representing outstanding accounts receivable balances that were due from the purchaser's customers which were past due at December 31, 2022 and have since been collected. We expect to receive these funds in the third quarter of 2023 when the bi-annual reconciliation for the period ended June 30, 2023 is prepared.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The foregoing agreements also contain provisions whereby we have agreed to make whole the purchaser in the event the counterparty to the energy production contract(s) defaults on or otherwise terminates before the stated expiration of the energy production contract. Should we be required to make whole the purchaser under such provisions, we would be entitled to seek recovery from the counterparty to the energy production contract(s) under a similar provision contained in those contracts in respect of early termination. </span></div>    We are also responsible under the agreements for site decommissioning costs, if any, in excess of certain threshold amounts by site. Decommissioning of site assets is performed when, if and as requested by the counterparty to the energy production contract upon termination of the energy production contract. 2 8 7000000 2023-06-30 2023-06-30 22229 Aegis Contract and Related Asset Acquisition<div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 15, 2023, we entered into an agreement ("Agreement") with Aegis Energy Services, LLC (“Aegis”) pursuant to which Aegis agreed to assign to us and we agreed to assume certain Aegis maintenance agreements, we agreed to purchase certain assets from Aegis, and related matters (“Acquisition”). On April 1, 2023, the Acquisition closed. Under the Agreement, we agreed to acquire from Aegis and assume Aegis’ rights and obligations arising on or after April 1, 2023, under maintenance agreements pursuant to which Aegis provided maintenance services to third parties for approximately 200 cogeneration systems and we agreed to acquire from Aegis certain vehicles and inventory used by Aegis in connection with the performance of its maintenance services. At closing, we acquired eight (8) Aegis vehicles for consideration consisting of $170,000 in cash. Also, we issued credits against outstanding accounts receivable due from Aegis in the amount of $300,000 for the acquisition of inventory that Aegis used to provide maintenance services. At closing, we hired eight (8) Aegis employees who, following the closing, have agreed to continue to provide maintenance services relating to the cogeneration systems covered by the maintenance agreements assumed pursuant to the Agreement. Following the closing and for a period of up to seven (7) years, we have agreed to pay Aegis a percentage of the revenue collected for maintenance services provided pursuant to the maintenance agreements acquired from Aegis. Further, prior to December 31, 2023, we have the right to acquire and assume additional Aegis’ maintenance agreements for cogeneration systems on substantially similar terms and conditions. The Agreement contained certain indemnification provisions and agreements on the part of Aegis and for each party to cooperate with each other and provide certain transitional assistance. We acquired the Aegis maintenance agreements to expand our Service portfolio and to benefit from the long-term contract revenue stream generated by these agreements. </span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have determined that the assignment and assumption of the Aegis maintenance agreements, in combination with the related asset acquisition and the retention of the former Aegis employees, constitutes a business and should be accounted for as a business combination under the acquisition method. As of the acquisition date, we recognized, separately from goodwill, the identifiable assets acquired and the liabilities assumed, at fair value. </span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have included the financial results of the Aegis maintenance agreements in our consolidated financial statements from April 1, 2023, the closing or acquisition date.</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the consideration paid for the Aegis acquisition and the fair value of assets acquired and contract-related liabilities assumed as the acquisition date:</span></div><div style="padding-left:72pt;text-align:justify;text-indent:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:69.005%"><tr><td style="width:1.0%"></td><td style="width:71.993%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.807%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Consideration Paid:</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">170,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable credit issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">300,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Account payable </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">111,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,442,462 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total fair value of consideration transferred</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,023,639 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets acquired and liabilities assumed:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets acquired</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">170,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventory</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">411,178 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable intangible asset - customer contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,591,327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,172,505 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquired contract-related liabilities assumed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred maintenance reserve</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(871,856)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(871,856)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net identifiable assets acquired</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,300,649 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess of cost over fair value of net assets acquired (Goodwill)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">722,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amounts recognized for inventory, identifiable intangible assets, contingent consideration and deferred maintenance reserves are provisional pending completion of the necessary valuations and analysis. ASC 805 establishes a measurement period to provide companies with a reasonable amount of time to obtain the information necessary to identify and measure various items in a business combination and cannot extend beyond one year from the acquisition date.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of the contingent consideration was estimated using the income approach. The excess cash flow was discounted to present value using an appropriate rate of return to estimate the market value of the customer identifiable intangible asset and the risks associated with the future revenue forecasts due to potential changes in customer energy requirements or changes in the economic viability of these CHP sites which depend on the spread between natural gas fuel and electricity prices, all of which are not within our control. Key assumptions to value the customer identifiable intangible asset included a discount rate of 15%, anticipated existing contract run out and forecasted revenue. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On the date of acquisition, the fair value of the contingent consideration and the deferred maintenance reserve were calculated using a weighted average cost of capital of 12%, discounting the future cash flows to present value and are subsequently remeasured to fair value at each reporting date until the contingencies are resolved.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The contingent consideration is payable within forty-five (45) days following the end of each calendar quarter through the earlier of the expiration or termination of the relevant maintenance agreements, or the seventh (7th) anniversary of the acquisition date. The consideration is equal to the product of the revenues collected in a calendar quarter multiplied by an applicable percentage. The agreement stipulates quarterly aggregate revenue targets and an applicable percentage, and provides for a higher applicable percentage if revenues exceed the target revenues. The applicable percentage ranges from 5% to 10% over the agreement term. The deferred maintenance reserve represents costs, which are expected to be incurred over a three-year period from the date of acquisition, to repair customer equipment that had not been properly maintained prior to our acquisition of the maintenance service agreements. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues and gross profit since the acquisition date were $628,813 and $411,106, respectively, for the three months ended June 30, 2023 and are included in our Services segment.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase price of the acquisition was allocated to the tangible and intangible assets acquired and liabilities assumed and recognized at their fair value based on widely accepted valuation techniques in accordance with ASC 820, "Fair Value Measurement," as of the acquisition date. The process for estimating fair value requires the use of significant assumptions and estimates of future cash flows and developing appropriate discount rates. The excess of the purchase price over fair value of the net identified assets acquired and liabilities assumed was recorded as goodwill. Goodwill is primarily attributable to the going concern element of the Aegis business, including its assembled workforce and the long-term nature of the customer maintenance agreements, as well as anticipated cost synergies due primarily to the elimination of administrative overhead. Goodwill resulting from the Aegis acquisition is not expected to be deductible for income tax purposes. </span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquisition-related costs which consisted on recurring internal resources were deminimus and such costs were expensed as incurred (ASC805-50-30-1).</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The following table summarizes the contract-related liabilities assumed as of:</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.526%"><tr><td style="width:1.0%"></td><td style="width:57.190%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.412%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.483%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.415%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition liabilities, current</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">164,357 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred maintenance reserve</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">484,884 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">649,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition liabilities, long-term</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,278,105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred maintenance reserve</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">365,462 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,643,567 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 8 170000 300000 8 The following table summarizes the consideration paid for the Aegis acquisition and the fair value of assets acquired and contract-related liabilities assumed as the acquisition date:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:69.005%"><tr><td style="width:1.0%"></td><td style="width:71.993%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.807%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Consideration Paid:</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">170,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable credit issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">300,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Account payable </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">111,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,442,462 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total fair value of consideration transferred</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,023,639 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets acquired and liabilities assumed:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets acquired</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">170,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventory</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">411,178 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable intangible asset - customer contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,591,327 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,172,505 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquired contract-related liabilities assumed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred maintenance reserve</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(871,856)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(871,856)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net identifiable assets acquired</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,300,649 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess of cost over fair value of net assets acquired (Goodwill)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">722,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The following table summarizes the contract-related liabilities assumed as of:</span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.526%"><tr><td style="width:1.0%"></td><td style="width:57.190%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.412%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.483%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.415%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition liabilities, current</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">164,357 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred maintenance reserve</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">484,884 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">649,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition liabilities, long-term</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,278,105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred maintenance reserve</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">365,462 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,643,567 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 170000 300000 111178 1442462 2023639 170000 411178 1591327 2172505 -871856 -871856 1300649 722991 0.15 0.12 628813 411106 2023-06-30 164357 484884 649241 1278105 365462 1643567 Leases<div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Our leases principally consist of operating leases related to our corporate office, field offices, and our research, manufacturing, and storage facilities. </span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    At inception, we determine if an arrangement contains a lease and whether that lease meets the classification criteria of a finance or operating lease. Some of our lease agreements contain lease components (e.g. minimum rent payments) and non-lease components (e.g. maintenance, labor charges, etc.). We account for each component separately based on the estimated standalone price of each component. </span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Operating leases are included in Right-of-use assets, Lease obligations, current and Lease obligations, long term on the condensed consolidated balance sheets. These assets and liabilities are recognized at the commencement date based on the present value of remaining lease payments over the lease term and using an incremental borrowing rate consistent with the lease terms or implicit rates, when readily determinable. For those leases where it is reasonably certain at the commencement date that we will exercise the option to extend the lease, then the lease term will include the lease extension term. Short-term operating leases, which have an initial term of 12 months or less, are not recorded on the balance sheet. </span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Lease expense for operating leases, which principally consist of fixed payments for base rent, is recognized on a straight-line basis over the lease term. Lease expense for the three and six months ended June 30, 2023 and 2022 was $216,841 and $406,556 and $210,155 and $407,074, respectively.</span></div><div style="margin-bottom:8pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Supplemental information related to leases for the six months ended June 30, 2023 was as follows:</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:456.00pt"><tr><td style="width:1.0pt"></td><td style="width:298.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:73.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:73.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="9" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">371,264 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">365,509 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for operating lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average remaining lease term - operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.70 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.70 years</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average discount rate - operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:8pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental information related to operating leases as of June 30, 2023 and December 31, 2022 was as follows:</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.058%"><tr><td style="width:1.0%"></td><td style="width:58.640%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.449%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.380%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.449%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.382%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">920,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,245,549 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-686"><span style="-sec-ix-hidden:f-687">Operating lease liability, current</span></span></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">513,811 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">687,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-690"><span style="-sec-ix-hidden:f-691">Operating lease liability, long-term</span></span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">459,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">623,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total operating lease liability</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">973,183 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,311,041 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Future minimum lease commitments under non-cancellable operating leases as of June 30, 2023 were as follows:</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:399.75pt"><tr><td style="width:1.0pt"></td><td style="width:292.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:97.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> Operating Leases</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550,785 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">132,569 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 3</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">121,565 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 4</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">76,818 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,422 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">144,100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,079,259 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,076 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">973,183 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The lease on our headquarters located in Waltham, Massachusetts which consists of approximately 43,000 square feet of manufacturing, storage and office space, expires on March 31, 2024. Currently, our monthly base rent is $44,254. On March 31, 2023, we entered into two lease agreements for two adjoining buildings, located in Billerica, Massachusetts, containing approximately 26,412 square feet of manufacturing, storage and offices space to serve as our headquarters and manufacturing facilities. The lease agreements provide for initial lease terms of five (5) years with two successive options to renew for additional terms of five (5) years. Both leases commence on January 1, 2024 and require payment of the base rent, real estate taxes, common maintenance expenses and aggregate deposits of $38,200. Our costs for initial improvements required to the leased premises is estimated to range between $1,000,000 and $1,250,000. The estimated straight-line monthly rent expense for the initial term of the lease is approximately $24,800 per month. In accordance with ASC 842-20-30-1, we will record the lease liability and right-of-use asset using the discount rate for the lease upon the lease commencement date.</span></div> 2023-06-30 216841 406556 210155 407074 Supplemental information related to leases for the six months ended June 30, 2023 was as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:456.00pt"><tr><td style="width:1.0pt"></td><td style="width:298.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:73.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:73.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="9" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">371,264 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">365,509 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for operating lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average remaining lease term - operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.70 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.70 years</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average discount rate - operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table> 2023-06-30 371264 365509 0 0 P3Y8M12D P3Y8M12D 0.06 0.06 <div style="margin-bottom:8pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental information related to operating leases as of June 30, 2023 and December 31, 2022 was as follows:</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.058%"><tr><td style="width:1.0%"></td><td style="width:58.640%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.449%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.380%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.449%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.382%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">920,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,245,549 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-686"><span style="-sec-ix-hidden:f-687">Operating lease liability, current</span></span></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">513,811 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">687,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-690"><span style="-sec-ix-hidden:f-691">Operating lease liability, long-term</span></span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">459,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">623,452 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total operating lease liability</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">973,183 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,311,041 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2023-06-30 920690 1245549 513811 687589 459372 623452 973183 1311041 Future minimum lease commitments under non-cancellable operating leases as of June 30, 2023 were as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:399.75pt"><tr><td style="width:1.0pt"></td><td style="width:292.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:97.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> Operating Leases</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550,785 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">132,569 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 3</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">121,565 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 4</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">76,818 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Year 5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,422 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">144,100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,079,259 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,076 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">973,183 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2023-06-30 550785 132569 121565 76818 53422 144100 1079259 106076 973183 43000 44254 26412 P5Y P5Y 38200 1000000 1250000 24800 Stock-Based Compensation <div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-Based Compensation</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    We adopted a 2006 Stock Option and Incentive Plan, or the Plan, under which the Board of Directors may grant incentive or non-qualified stock options and stock grants to key employees, directors, advisors and consultants. The Plan was amended at various dates by the Board of Directors to increase the reserved shares of common stock issuable under the Amended Plan to 3,838,750 as of June 30, 2023, and in June 2017 stockholders approved an amendment to extend the termination date of the Plan to January 1, 2026 and ratified all of our option grants issued after January 1, 2016 (the "Amended Plan").</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Stock options vest based upon the terms within the individual option grants, with an acceleration of the unvested portion of such options upon a change in control event, as defined in the Amended Plan. The options are not transferable except by will or by the laws of descent and distribution. The option price per share under the Amended Plan cannot be less than the fair market value of the underlying shares on the date of the grant. The number of shares remaining available for future issuance under the Amended Plan as of June 30, 2023 was 188,393.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six months ended June 30, 2023, we did not grant any options to purchase shares of common stock under the Amended Plan.</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted the 2022 Stock Incentive Plan (the "2022 Plan"), under which the Board of Directors may grant incentive or non-qualified stock options and stock grants to key employees, directors, advisors and consultants. We have reserved 3,800,000 shares of our common stock for issuance pursuant to awards under the 2022 Plan. The adoption of the 2022 Plan was approved by our shareholders on June 9, 2022. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the 2022 Plan, stock options vest based upon the terms within the individual option grants, with an acceleration of the unvested portion of such options upon a change in control event, as defined in the 2022 Plan. The options are not transferable except by will or domestic relations order. The option price per share under the 2022 Plan cannot be less than the fair market value of the underlying shares on the date of the grant. The number of shares remaining available for future issuance under the Plan as of June 30, 2023 was 3,475,000. </span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    During the six months ended June 30, 2023, we granted non-qualified options to purchase an aggregate of 125,000 shares of common stock at $1.10 per share to certain directors. These options have a vesting schedule of four years and expire in ten years. The fair value of the options issued in 2023 was $62,500. The weighted-average grant date fair value of stock options granted during 2023 was $0.50 per share. </span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity for the six months ended June 30, 2023 was as follows: </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.836%"><tr><td style="width:1.0%"></td><td style="width:39.844%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.451%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.545%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.191%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.978%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.243%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock Options</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Exercise<br/>Price<br/>Per<br/>Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding, December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,204,297 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$0.71-$10.33</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.61 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.30 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">882,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Granted</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">125,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$1.10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.11 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Exercised</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Canceled and forfeited</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(42,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$1.10-$3.20</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.98 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Outstanding, June 30, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,287,297 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> $0.71-$10.33</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.57 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.00 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">406,845 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Exercisable, June 30, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,788,972 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.06 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206,145 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vested and expected to vest, June 30, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,062,548 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.61 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376,740 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    Consolidated stock-based compensation expense for the three and six months ended June 30, 2023 and 2022 was $28,589 and $105,937 and $89,893 and $185,600, respectively. No tax benefit was recognized related to the stock-based compensation recorded during the period. </span></div>    At June 30, 2023 the total compensation cost related to unvested stock option awards not yet recognized is $455,445 and this amount will be recognized over a weighted average period of 2.99 years 3838750 2023-06-30 2023-06-30 188393 2023-06-30 3800000 2023-06-30 3475000 2023-06-30 125000 1.10 2023 62500 2023 0.50 <div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity for the six months ended June 30, 2023 was as follows: </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.836%"><tr><td style="width:1.0%"></td><td style="width:39.844%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.451%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.545%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.191%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.978%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.243%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock Options</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Exercise<br/>Price<br/>Per<br/>Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding, December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,204,297 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$0.71-$10.33</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.61 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.30 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">882,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Granted</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">125,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$1.10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.11 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Exercised</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Canceled and forfeited</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(42,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$1.10-$3.20</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.98 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Outstanding, June 30, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,287,297 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> $0.71-$10.33</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.57 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.00 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">406,845 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Exercisable, June 30, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,788,972 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.06 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206,145 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vested and expected to vest, June 30, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,062,548 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.61 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376,740 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2023-06-30 3204297 0.71 10.33 1.61 P7Y3M18D 882074 125000 1.10 1.11 0 42000 2.98 3287297 0.71 10.33 1.57 P7Y 406845 1788972 2.06 206145 3062548 1.61 376740 2023-06-30 28589 105937 89893 185600 2023-06-30 455445 P2Y11M26D Fair Value Measurements <div style="margin-bottom:6pt;margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The fair value topic of the FASB Accounting Standards Codification defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. The accounting guidance also establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs, where available, and minimize the use of unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> - Unadjusted quoted prices in active markets for identical assets or liabilities. We currently do not have any Level 1 financial assets or liabilities.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 -</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Observable inputs other than quoted prices included in Level 1. Level 2 inputs include quoted prices for identical assets or liabilities in non-active markets, quoted prices for similar assets or liabilities in active markets and inputs other than quoted prices that are observable for substantially the full term of the asset or liability. We have Level 2 financial assets and liabilities as provided below.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> - Unobservable inputs reflecting management’s own assumptions about the input used in pricing the asset or liability. We do not currently have any Level 3 financial assets or liabilities.</span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The following tables present the asset reported in "other assets" in the consolidated balance sheet measured at its fair value on a recurring basis as of June 30, 2023 and 2022 by level within the fair value hierarchy. </span></div><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:523.50pt"><tr><td style="width:1.0pt"></td><td style="width:207.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:49.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:57.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:51.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:7.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:50pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted prices in active markets for identical assets</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant other observable inputs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant unobservable inputs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> Gains </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Recurring fair value measurements</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">    Marketable equity securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">          EuroSite Power Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total recurring fair value measurements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:48pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">June 30, 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted prices in active markets for identical assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant other observable inputs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant unobservable inputs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gains </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Recurring fair value measurements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable equity securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">EuroSite Power Inc.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total recurring fair value measurements</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">      </span></div><div style="margin-bottom:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    We utilize a Level 2 category fair value measurement to value our investment in EuroSite Power, Inc. as a marketable equity security at period end. That measurement is equal to the quoted market closing price at period end. Since this security is not actively traded we classify it as Level 2.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    The following table summarizes changes in Level 2 assets which are comprised of marketable equity securities for the six months ended June 30, 2023 and 2022:</span></div><div><span><br/></span></div><div><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:64.912%"><tr><td style="width:1.0%"></td><td style="width:73.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.700%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:23.000%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,744 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unrealized gains</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">74,995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unrealized gains</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at June 30, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> The following tables present the asset reported in "other assets" in the consolidated balance sheet measured at its fair value on a recurring basis as of June 30, 2023 and 2022 by level within the fair value hierarchy. <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:523.50pt"><tr><td style="width:1.0pt"></td><td style="width:207.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:49.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:57.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:51.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:7.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:50pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted prices in active markets for identical assets</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant other observable inputs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant unobservable inputs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> Gains </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Recurring fair value measurements</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">    Marketable equity securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">          EuroSite Power Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total recurring fair value measurements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:48pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">June 30, 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted prices in active markets for identical assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant other observable inputs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant unobservable inputs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gains </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Recurring fair value measurements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable equity securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">EuroSite Power Inc.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total recurring fair value measurements</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> 2023-06-30 131241 0 131241 0 37497 131241 0 131241 0 37497 112492 0 112492 0 37497 112492 0 112492 0 37497 The following table summarizes changes in Level 2 assets which are comprised of marketable equity securities for the six months ended June 30, 2023 and 2022:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:64.912%"><tr><td style="width:1.0%"></td><td style="width:73.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.700%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:23.000%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,744 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unrealized gains</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">131,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">74,995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unrealized gains</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fair value at June 30, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,492 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2023-06-30 93744 37497 131241 74995 37497 112492 Commitments and Contingencies     On November 23, 2022, we were served with a suit filed against us on August 24, 2022 in the Ontario Superior Court of Justice by The Corporation of the Town of Milton, Milton Energy Generation Solutions Inc. and Milton Hydro Distribution Inc (the "Plaintiffs"), all of whom are municipal corporations incorporated in the Province of Ontario. The plaintiffs sued for damages in the amount of CDN $1,000,000, pre-judgment and post-judgment interest, legal fees, and any further relief the court may deem, alleging breach of contract, breach of warranty, negligent misrepresentations and nuisance. Plaintiffs allege that on or about July 10, 2022, a Tecogen cogenerator installed by us at the plaintiffs facility caught fire, causing damage to the cogenerator and the plaintiff's facility. We have filed a response denying liability and are being represented by Canadian counsel. For the year ended December 31, 2022, we reserved $150,000 for anticipated damages which may not be covered by our insurance. 1000000 150000 Segments <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    As of June 30, 2023, we were organized into three (3) operating segments through which senior management evaluates our business. These segments, as described in more detail in Note 1, are organized around the products and services provided to customers and represent our reportable segments. The following table presents information by reportable segment for the three and six months ended June 30, 2023 and 2022: </span></div><div style="margin-bottom:6pt;margin-top:5pt;text-align:center;text-indent:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:507.75pt"><tr><td style="width:1.0pt"></td><td style="width:180.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:39pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Products</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Energy Production</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate, other and elimination (1)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,445,631 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,952,971 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">350,156 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,748,758 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,143 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(66,143)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,445,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,019,114 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">350,156 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(66,143)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,748,758 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">827,175 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,877,102 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">130,149 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,834,426 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,955,171 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,051,494 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,284,542 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,508,978 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,800,185 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,155,767 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,089,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">883,665 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,128,576 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">154,357 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(154,357)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,155,767 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,243,501 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">883,665 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(154,357)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,128,576 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,324,743 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,275,673 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">325,919 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,926,335 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,955,171 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,051,494 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,284,542 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,508,978 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,800,185 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,010,115 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,050,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">354,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,414,593 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,415 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(62,415)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,010,115 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,112,606 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">354,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(62,415)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,414,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">994,649 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,576,605 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">132,195 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,703,449 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,237,886 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,799,483 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,855,043 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,441,312 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,333,724 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,949,596 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,967,471 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">935,849 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,852,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">157,669 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(157,669)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,949,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,125,140 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">935,849 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(157,669)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,852,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,289,375 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,127,133 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">377,730 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,794,238 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,237,886 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,799,483 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,855,043 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,441,312 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,333,724 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="33" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1) Corporate, intersegment revenue, other and elimination includes various corporate assets. </span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 2023-06-30 3 The following table presents information by reportable segment for the three and six months ended June 30, 2023 and 2022: <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:507.75pt"><tr><td style="width:1.0pt"></td><td style="width:180.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:1.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:4.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:3.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:58.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:39pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Products</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Energy Production</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate, other and elimination (1)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,445,631 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,952,971 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">350,156 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,748,758 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,143 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(66,143)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,445,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,019,114 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">350,156 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(66,143)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,748,758 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">827,175 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,877,102 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">130,149 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,834,426 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,955,171 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,051,494 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,284,542 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,508,978 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,800,185 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,155,767 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,089,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">883,665 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,128,576 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">154,357 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(154,357)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,155,767 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,243,501 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">883,665 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(154,357)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,128,576 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,324,743 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,275,673 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">325,919 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,926,335 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,955,171 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,051,494 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,284,542 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,508,978 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,800,185 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,010,115 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,050,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">354,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,414,593 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,415 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(62,415)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,010,115 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,112,606 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">354,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(62,415)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,414,593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">994,649 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,576,605 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">132,195 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,703,449 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,237,886 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,799,483 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,855,043 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,441,312 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,333,724 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue - external customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,949,596 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,967,471 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">935,849 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,852,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intersegment revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">157,669 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(157,669)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,949,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,125,140 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">935,849 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(157,669)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,852,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,289,375 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,127,133 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">377,730 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,794,238 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Identifiable assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,237,886 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,799,483 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,855,043 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,441,312 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,333,724 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="33" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1) Corporate, intersegment revenue, other and elimination includes various corporate assets. </span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> 2023-06-30 2445631 3952971 350156 0 6748758 0 66143 0 -66143 0 2445631 4019114 350156 -66143 6748758 827175 1877102 130149 0 2834426 9955171 13051494 3284542 3508978 29800185 4155767 7089144 883665 0 12128576 0 154357 0 -154357 0 4155767 7243501 883665 -154357 12128576 1324743 3275673 325919 0 4926335 9955171 13051494 3284542 3508978 29800185 3010115 3050191 354287 0 6414593 0 62415 0 -62415 0 3010115 3112606 354287 -62415 6414593 994649 1576605 132195 0 2703449 11237886 9799483 3855043 5441312 30333724 6949596 5967471 935849 0 13852916 0 157669 0 -157669 0 6949596 6125140 935849 -157669 13852916 2289375 3127133 377730 0 5794238 11237886 9799483 3855043 5441312 30333724 Subsequent Events     We have evaluated subsequent events through the date of this filing and determined that no material subsequent events occurred that would require recognition in the consolidated financial statements or disclosure in the notes thereto. 713269 562752 564027 1275 667121 15775 2023-06-30 46148 2023-06-30 EXCEL 61 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( (Y)"E<'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 " ".20I7RYIZB^T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)OIVE!)'1S6?&D(+B@> O)[&ZP:4(RTN[;F\;=+J(/(.22F3_? M? /I=1#:1WR./F DB^EF=L.8A X;=B0* B#I(SJ5ZIP8D/ M=4!HF^86')(RBA0LP"JL1"9[HX6.J,C',][H%1\^XU!@1@,.Z'"D!+SFP.0R M,9SFH8^"VA68JG^B2T=8.?DG.R:FJ:IGKJ2RSMP>'MZ?"GK5G9, MI$:-^56R@DX!-^PR^;7;WN\>F&R;MJN:NXHW.]X)WN;SOKC^\+L*.V_LWOYC MXXN@[.'7OY!?4$L#!!0 ( (Y)"E>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,$% @ MCDD*5\VI&RC!! ;A, !@ !X;"]W;W)K()#XR58/"WX5.>)%8).'[L19WRG3;P^/B@ M?I]_/'S,&]-\*I-O<6BBD7/ID) O69:8%[G]E>\_J&_U IGH_)=LBV=]WR%! MIHU,]\% D,:B^& M#7"QL+VR, KNQA!GQE.YX6K8-2!E+W2#?=A-$49/A W(@Q0FTN1.A#S\;WP7 M$$H.>N"XH:C@;YDX)SWWC%"7]HB.F.(:D>V5G]?+97LG9&]ED$$.&<)$"*PF M-CLR$T4RVZ3X>_*FC8+4^*>N#0IMOU[;CI=KO68!'SDP(#17&^Z,?_[)&[B_ M(.1^2>YCZA7YZV[-Z^#P<,_M/",4_9*BWX[B.6/*<)7LR M?2V7JB' IHS*. M$ U*HD$[HCE7L;2=&A+(_-HFPI7*E,MS#D&[*-$N6G:98F!;>8*=;BU<:\D2 MC3779KL<_X^3CAYS-*W^L&.:[BNU^D-/!=KHZN2YZH-SPM?Q7;@06,] MLK2V\W"=U[OITY>[1S)[G)XC6)Y;^:#;!FPF JF@RW)[.",+ ZE%I")3F0FC M=O ?UM(VJ-_>89!'9NVU@7QE'V060J;%RS@HC.QTWS9(NGZGUX?>[7D8(:T( M:1O"21B")>JSPP'Y"L^1)U'?=KBDWX?T5=J0R88+U$.\JBQXJ'?_#W-JSZ"; M7^56U"+BEQ@2NZU.^CB5>5!0]W\[P')S Q/8V""UQ20%YK@-(OY@T!GX+L6(JA+@M:H!TTPI6YV*DA2+59Y:F:[%PQ6_HY,SKRH& M7JMJ,!,PM2CFY[:6LP-J+1FNB)/1JAS05N7 UDTP?QB!*ZEV=3P-.H]2=%@0 MP"H$2@H/"T&,L*H%M%4M6*0L21FMK)^VLOZ[E*N5S:XO MH& B&([IFHGZML,%F^9 M+)[VLKN%Q&L_E @7*81J#)YVLKD 26%XKTP,G@' MI\]7/>0I,V"K(H0VK&4LE/NYLEUT;\;4O^R[= #^M:FCJOR=MO+W*0P]!1XV M@[7=!_F=US=5@['#I+'?N_![?:R]*G>G#>Z^]Z[[6%MW__L( ( !V+ & 'AL+W=OLLO-S$W@KNZE M<01QC6-E;06&^_3;/LO[>S(10Z,>\K)K3 MP4RIQ8?1J,EG8IXUQW(A*OC+G:SGF8+;^G[4+&J13=M&\W)$,0Y'\ZRH!F^^UFD MZQZ)4N1*N\C@QX,8B[+4GJ ??ZV=#C;/U VWKY^]_]:*!S&W62/&LOQO,56S MTT$\0%-QERU+]4T^_B[6@KCVE\NR:?]'CVM;/$#YLE%ROFX,/9@7U>IG]F,= MB*T&)'BA 5TWH&]MP-8-V%L;!.L&01N9E90V#FFFLK.36CZB6EN#-WW1!K-M M#?*+2H_[1-7PUP+:J;.QK*8PBF**X*J193'-%-Q\RLJLR@6::,<-.D(WDQ3] M^O,_3D8*'JJ;CO+U SZM'D!?>, ?R^H8,3Q$%%/F:#[V-T]%#LU)VYPZFJ=O M?[K1? 21VH2+;L)%6W_LI7 MZUI4"F5- W'YX K'RD'@=J!?XP_-(LO%Z0#> MTT;4#V)P]LM/),0?7<'9I[-T3\YV LNPM:5GK@>SD@<$1Q"_CQL1\=AEQ"6A,FN7>KM6D_AP49XX!5^GN=R M"3IADLP%B+XMQ1!50KETKSSQ+3T\) %-B*';M@LC$A"=X3NZO3WKJ9MO='.O M[IOJMBA+F$IJ\2"JI7#IY98.$@4Q8Z&AUV$78\X8-O1Z>]13;[C1&WKU7LP7 MI7P2 O0JR&M=T_):3 NU-?"N&(26M@#&/#8B8%M%A%$KT;U=[!F :!. R!N MRPK&6V[^>ZI.-^L2K_EJJK'R#XL22 M0DD4!1$W9W.'(<4,A]AX&5)OOWJJ)K@#)OS*J -TU^IIB!; 2*H=?5W/%D## MZL7,7SO=R6C&*2/FF^XR#' 447.R\W>S;QBVN)%XP]"N$)"\0\M&>$9_[65; M3D)Q:"6\PX[0@// 3'E_M_K*[OB/>"D)9CF55?<%3.9KT2^/.+7S.:"$18DI MW39,DH@G@:G\$/Q&.H C?H+[IY331RCI3JW,DL (<$L0F5IM0QK@D/#0%'L( M9B,=M!$_M7UIIW-/6ML(1C',S];;;-N1$%Y[ZV4^!*J1CM6(']:NOUR?7Z'S MR>3B>N*4:Q,836(,BLW"[;*,*:T2?U=.AV(D?-,JK2PR M@-!" 9(XEVID3[RTEKY/;^F^O.V&L(,YXJ>YS;)ED3V]A*[$IC28X/1K;R:% M;0CP2A)N+EC\G>HKNN,YX@! M.2>F_D[U%=UA'/%S7"KN!+PNFX7:\)GIG.H=D(;C$)9MIGK;D!"8YJFE_A T M1SN:HWZ:NQ(9\(N\+8O[3"_:&J]\:L,9)RPFY@+=81?&$;?XW=^YON([AJ-^ MACO/@5N;HEVL;LV5_A#8H!8&"0VL$-AV9M'S]ZZO^JVM/#_*W51WV8.L]>R& M__.\5061IB[ZR7MT([ZT6YW*;>5"4[M M-L(13&D2)I9ZVS(*XY!92QE_]_HF0@=[-/#BPI6L[H^4J.>O @/=$Z:MX[-/ M;^F^O.T&L4-(ZD=(NXS NDBO#Y_3:B%K/=$XP^K8X.,!,==^8X<=BTA,F9E/ MA]@(I!U^4O]6H*.FO",6C@U!G@ 5F[&P[4+* @NI_'WM&XN.(^EK'/E"B7E' M1!R;@6' >&@N+AV&UDQS","D'6!2/V"^5G+>$13'#F&"8VREB6W'8\:)E2:' M@%#:02A]RV;B:Y7'P90TB6RN&CLL$QIR@DWZ]'>K[YE81Y_,3Y]C.9\72F\< M-JO#,*GXM M<@F10Y=5?HR:65:+F2RGHFY^^2FF)/K8;M*J)V==9WLBT75$]^DMW9>WW;!V ME,S\E*Q3%.;N1LG\^Q#]C(\Q)FB1U>@A*Y?B(R(8#_'JWRKJD,E+-9-U\7\Q M_8AH,(PY'L)JOTWPK=NB:?1:NST\6:I&P06D/LH4^F-9"7UH3S%=M4I%+N:W MHG[^$ /@3*:A6B_&2F?G"/JVGV%1YLGR&\R2_TQZCL&6V?G?CX_GT[;"@I3 MI#YP.BHJE&>+ J9,IW0;NWD4\# )S,TZIR44!VP=N?@[V#< ':&S5P_1E_-E MV7Z:,A5W15XXEV7,WFT]"C#G!!;?IG2'*8MI#-QI:3\$6+,.K-DK>[-M:=R= MW?3+Z)S=G%%QT'68,$S,41Z[+!.D& =)S,_)Z_.(ZXNSS]=7EU>7UY,T/GG%$VN MOXS__/W+57KQ;?(L^>+?-Y?7_W-*CNWNN<\L7);N,PM_M_N.?$?)S$_)N[5X M76VWBJKO9M\/JCIJ#EZG9BL,*YQP?E6U)RY=12FP MMW9?B-*^GKN*TFCK&T_]1>Z_LOJ^J!I4BCMPCX\CZ%&]^LAU=:/DHOWL\U8J M)>?MY4QD,%UH _C[G835Q?I&?TFZ^=3X[&]02P,$% @ CDD*5_1M?^N3 M @ 6P< !@ !X;"]W;W)KU EHX M4,7]* @2OZ),>%GJYN8J2V5C.!,P5T0W5475KVO@:".K#HP**B;:)WWL]F$/$(Z/ *(. M$+T4$'> V!EME3E;-]30+%5R2Y3-1C8[<'OCT.B&"7N*"Z/P+4.. MR+:)31:,@B!,_>R#E2.>Y7C$U2V%4AH8TJIV&\HAM2VA),]'6'0_?Y2 M_)+, ]637O7D=-5,ZV98\9-DI];4Y!]3T?AB$D3)D9-(>D_)Z9[PGM"&BH*) M]9"QY'DMK>@7)+:B_;W69Z^=SU2MF="$PPJAP>@<.53;RMO R-IUPZ4TV%O= ML,3;#Y1-P/ M"="U/7-GLNUUFM9SSC4?.OU 2Y#-"44H)"7?Y==G2+/3L M+G8?@+A^L>7/U;,Q=?!EG1?5S>RYKC=7\WFU>#;KM+JT&U/ -RM;KM,:WI9/ M\VI3FG39#EKGJZ;#^:WUYOTR3R8^O/FOH1W\Z.59;8V1979(BC-ZF;VGEXE7#4# M6L1_,_-2G;P.&BJ/UO[9W"SJQD0*_W;FSN1Y8PE^QR\'H[/C MG,W T]>OUO_6D@A8LS2K=YO4G^_(/"OK&@2Y:$NX=L,QM6W M=[980MC-,H!7EA$EI)?3W?G7H-P0DJ9,3/<;&/HXPR+55X#DP0(->21;0# MGE$61\IB!.6%K>HFR:LTQWGOC?,X8W@%*54"(>WCU--# 5U:/LX M3:0.E<99RR-K.$J=HQ#Z,$D*T='FB.!%&#.<9'7E&@SP_0=JD MY>*YC?(2FDEN-XV,P(A'?NAX*-U?>N?#:"2T=+N)#Q.A#-WFE/@PSD6D>XH, M)9V,(L/9#9H\ .&[S*J-K;)6!$-32:O*U&C%.=@[_247-(HD<>AC.":) XM' MFDLP' ^%Z,EO>J(CZ2@'U*:$M9V^.F!;K-*=+=/'W$"G+6#%+^H@S]+'+,_J MKZAC!N=Y:RV>U%I\L';J/<_!/N1"4:[Z',PZ![,1:L6.:F<'4V=I'E(1*NEF M%P*4S"\_,0)45$(;]_C[P%!R(J,^!W0"E0XKU'\UNF55VO6K$V _@I+G2 0T M8:XRN<. FBK.E4L> 3+&HBAR10PZ-P^Y5#WL.ZU*Q;".J9]-&63%PJY-\.X0 M?'P7-JAZW[R IK063VHMF4@Z(4V'E?3' HJ=@=U#T^PL&I_O@\*@S8_Z M"41)2-T<1'&6A=#,4,P?[2G=/@9J3HF\G13N530>U8^>+ W.44.SU+AP7MYZ(T:9[]:I;!4]/\WN50H+YK M>F!6[, 5C>X)*K/8EB '>NJT+S>Y$I'G$1_F]?]1EI)OPLY]TQ\& 8PB[;H ,Q=%PG6!#]/0\GH\T E?.JQ\V^[T:%:V-,WF M>I>U1ZGP-JB:L[17K]3IEYY4\)7IA0(%JSQ!B UI]Z&.L: C%'0CEY5P.9F M2O.>O&"=+&;#LOC^=WB"^1(U O'BN %!A;XL1E"<,>G6" 1&B> ]2<$Z4,^TFE=E]GCMFXW ;4-H$H$A2TNVOV ;3?&D!3[_H$ZQY>4%T)[!U(8C&KN M'AG$&(XQ[4K>!,5I*7JVR*P3LFQ8R/[[D B>8WXT"_MDB@#\=HDZPC\);90M MI6Z-P(!:AHRZ-1,#0@\E4%]=;V!SAZ$F48\[.F7+AI5MDI8%I$ 5W$/S>'A. MH8#^[_UCU6X5_X^Z85*!.ZFU>%)KR536SB/3"5PV+'";1'WMYGMQ QNOH&I# M=-$\G\L6P3M0/LTCH>,WZ)[D,)$^S1YR2=S3O'&PN ?FI>RWK)V[I=.Z;%CK M#KMEF>7;IMPWCME6RV\Y)ASGF%&PN ?F.>9;ULX=TREB-JR(?VH?RP+W= <; M]">SYUT%=EM#ZR^63:$_Y WJ"^0P5VA)F+.B;R_R4UN))K253 M63M_\-N)=#XLTD<\^B5>\V="R- ]7[A#@)Q04"BN/$6 @DJI0G?'B@##2$0R MZCFRX)TXY\/B?.3C7^[+8QI2+;P'%0B0$2J%^XPIQH"P@R/,W:HB0+!&8!/7 MP[U3YGQ8F3] $F6+'L*#0]^Z[B:U%D]J+9G*VGD03FY<_.$K%_YQ,H\DBY2W M[A @D81&;M5'@(KHR+NED"! 6'-*J+[OS0%1T_8R6Z#,!VV\>0%. M:2V>U%HRE;7S:'1"G@\+^1$+T#\\YK"L_-J/X033[I,D!*SS3N)SHVJ/=WWHZ?'J^SOF\O<3J??Z!7=Q3Y/*97R?ZR:F=^?W?VA[1\ MRHHJR,T*IB*7"H)4[J^C[M_4=M/>MWRT=6W7[N;9H+C MI>#;WP!02P,$% @ CDD*5_/5A3S4!P 5SX !@ !X;"]W;W)KN>9Q(;I=::9FUS3 M?NCT V?KSDQXN0*^2_Y]!2;&$D*!W$Z^V&#O/@O[2+#/"BZ>\N)CN1>BSO95]?!ZL2BW>Y%&Y:O\063RG[N\2*-*[A;WB_*A$-&N<4J3!79=?Y%& M<39;732_71>KB_Q0)7$FK@NG/*1I5'Q^*Y+\Z7*&9E]^>!_?[ZOZA\7JXB&Z M%S>B^O!P7MLSR" M-,Z.W]&G-A%G#H@,..#6 8]U(*T#T1PP&W#P6@=/=W ''&CK0'4';\#!;QW\ M)O?'9#69WD15M+HH\B>GJ*TE6KW1T-5XRP3'63VR;JI"_AM+OVJUSK.='"=B MY\BM,D_B753)G9M*?LD!5)5.?B?W\NW'?9[L1%'^[ 3_'>+J+%MP[\]AL<#X?_,JR@QN*WM;NL\3>6P;([+X+VQ>[_9[>)Z M6$>)9=GVSRKBCR1 M_]P[5UDE"E%J0 O)[(E>?*(7-\C> /);<1]G60UZ&R51MA7.BW(?2?"73E3) M ]Z^<@CZQ<$N1B;RK.#U1>]U^1!MQ>5,7M5*43R*V>JG'Y#O_FJB] A&&[#Z M@O>XPAZG+O9EZ,=S]B"C!I!@(1"80B4Y44DF4CF&P2.F?YYTA#!'WE)-^MI@ M6+.C4=.WHLQ%/J<:7- WG!/*"?&QQG9HL&3+)>D E6QYIVQYC1\9R-95MI4W MVE*.=YFB9NNE$V?F*]D_[^7$<^2-ZBDJ=O^:LNA!S@-(L TD6 )%@*!*>S3 M$_O4.E<:FIN*8^=L\U268674%#+B4[TM3!S3WN4)<>J[V@Q86P-/96]\F:$\Q=_4)F/8*I M!$&"!9!@83\;:C(4?MB)'V;EYYV4,K%D)#7.$-8G '/J88T :XBI!$""!?T3 M8+[?&T$A4$R% 7YB@(]DP'F1Y&5IK*EYGPA&./:9QH0UU%0F(,$"2+"PGPYU M6"I$+$]$+*U$!-ENJ&S^_9#)HLMMBBYLXL>*/+5<6(XMFR&C!I!@(1"8PB-R M.X7K3F%R#($MHI)T5PXIGQ%MBK667ZN;#8"4R>A>KW V6,Z)+VL"CVB@H]CUS2,?G?4$T#-4XQ]1<=(._Q9MQ 0 C1N HH50:"JC71L 3>T# MC"+2(-D1<1GCGCX-\+AIT >D3.I1ZOOZ-.A;2@')/ \CK$\#@VE]_7<'ID$G MN!'YCAH26>7]Y%D!B;8!10M T4(H-'40='T$9!6JWR0E6\CS$U"TP' .G/H8!115):*3]VBLOK>H2V30 M^9PP3JA."*C2!T4+0-%"0TK4$:KRT8E]9%?[SQ&9=NC)]81!1 ]4V:"- %"T M$ I-I;-K&:!)/8-1+!KD_8#27(XKL?N 0TJS;SFH- VF%J6).VV.[=I\_/JD M,7MV],D+E ;5/[!""1DW $4+H=!41KO> 9[:.QA%9%_D(UF],J:/[W5K^;5I M8 "DC%#DNMHM.3!8S@G''%%/OWN;3)'K4W] :N*S97K\':4FAEVWAT3;@*(% MH&@A%)HZ"+I^ [:O\'^+U&PAE8GCTB71EP+LH2>3."YJ !HUA$)3Z>DZ =C> M"7B6V,1]=3['LH+D.D^@/0%0M 4+31D1$V(2E/7$\#VGH!=;&*#Z,>8Q= /J[.[@-2YE%_Z5&]%C \M>"YE,KX3+]N&4R1RR@:6-/' MG4+'=H4^?F73G#[0E7T\>FD?-&X BA9"H:D/Q78=!#*U@S"&2-*7^HC) A;A MWG.QXQ;X#8!R'F!.J+ZR:;"]C? MW@MXEM@D?7EN%)OV8YA,$^A#!*!HX=S!)A,"JOY!T4)# M2I0!JM+127]BE_[/49IVZ,GEA$%+FXMLT+@!*%H(A:;2V34.R*3&P2@66:]N M'E":!DMCA=TW&U":!LLAI6DR-2K-Q=DKMO4KUU)A2-U1.HFXDY[N*R8'6'%\ MB_FX4^4/S5NWMWE5Y6FSN1>1K*QK _G_79Y77W;J%WE/[Y*O_@=02P,$% M @ CDD*5RI!<8Z5!P 62 !@ !X;"]W;W)K9A38.Z[3[+$AUSE467HIUFOWY' MR;%LD:)3P%\:23Z>GGM]>&(O'X7\5BT94^C'JBBKJ\%2J?7%:%1E2[9*J[=B MS4KX92'D*E5P*Q]&U5JR-*\7K8H1\;QPM$IY.1A?UL_NY?A2;%3!2W8O4;59 MK5+Y](X5XO%J@ ?/#S[QAZ72#T;CRW7ZP&9,?5G?2[@;[;7D?,7*BHL22;:X M&ESCBPE-]():XBMGC]7!-=*FS(7XIF^F^=7 TXA8P3*E5:3P9\LFK"BT)L#Q M?:=TL'^G7GAX_:S]MC8>C)FG%9N(XA^>J^75(!Z@G"W23:$^B<<_V)XJN)DI^ /14A42"S1)JR6ZA8A7:(B^S-ZC5[^^OAPI>+U6,LIVKWK7O(KT MO"I$'T2IEA6Z@5?FQ^M' 'N/G3QC?T><"O_:E&\1]=X@XA%JP3-Y^7+B@$/W MKJ2U/MKGRNO9G^CV[X__S-#MIX\?T,?[FT_7GZ=W?Z#KR>?IU^GGZ\/<>\%W:QT[DCH,$>:. ,U77^+Y16 MD]]*0#O*1)GQ@NU!ZZ?Z.M.9OY9BRR%ET?P)O=KH6N'E:P2=5*:*EP]-*^** ML\H:WN"@-.-ITW_+'*4K(17_KW[P1OO+9GZC,S@( M(4FPEP2=2%O$*9%]&^H^GZ-,K(#\JAJM#6AD(,!>D-"H M ]0B%@>AY]F!QGN@L1/HO'-MFC39QH_X#] 0*L.:_6HN)U0@!/I%7%[%@3 \40)TG0!6L1HZ'O M!W:TV&M)SG/B_5+"%J?@_T$6/.R@\W++FA: *I9M9%V_5E+S+* B/^GFQ6FY M8_ '#(U?Y&S%)&P TF=G;\I%NA4RG4/;@O:E)+0A5/!TS@NNGJR68 -A-P 6 MD6&$:=07 =(:0=SDN$S+!U8A;4K;..M\J5O),_"^()!S-M%S:3OV1;M/P$X2 M'E_OBEKS#N-;'4&KS=2(110$,<7=F)ER0Q^*QL<]06OI'+OY_&:U+L038P!4 M0:'HQ,LDR[DZA=PW$(5AA(F!W)0+0A(%I =X2^_8R8-0[Y!,!52[9%M6;NP@ M \O+D\3O8C3%,,:1%_35='84@\(PY:RY M>@WMT;J%Q$XZ_NGV=R9MQT-;2\;$3<;[]K=.G_HZ"#')-*9)%'>KTR(WA$$B MCD)[=$C+NL3-NH!2;I@S^4]P%C&Y%$G"V9$C<9'CW\^.@U1*3\W! PX.$W1EBR@V#*(&9J,>0EAR)>_CM?J>8 MWGV]F;WD.P4YZR1[+FW'7FC9E[C9]WXCLV6J"QOVTA!2")]ZJHNMUIP"9'O,2C?D_X6E8F)U@Y?:JG%CTGSC<5_%I!<\H =#.(65%; M2!;V,.:T:!'L:T,M$9,3H^VAIWFI8!#@>FCIIV9B4JX!U!09$A@H>P85TK(R M<8^V,(AGC.456DBQ>OF 2\S1%8=Q:+114PPVQ@==[/C+8\NIU,VI[WFE))]O M--#FXY4HA_54*(I"-R7P.X,RLN8TM9$HC6EW)V23HR3V^M"W7$O=7+MOK;MN MNAO.3S=3:J%.J,;@8'.V@VX1))Z/HS[L+3N^N[R8O^>I[UI'V M7-J.O7#PZ=M-XE9R7/ R+;,71-'D[&ZY.T6.,;>$3D]\K:X_2>ATJY'KUE]? MZ/Z_30O6\]F-6HC9)XG7)7";7!13&O1L36E+X-0]W4[ZX+Y!<_; RU*['+H5 M;*P0T!H7N=4.RV";8)H86RJ+((RAOG_0W(X-:3F8NCG880C3N^V3)I@DB^,( M>T;;M0B2F&+L]6RF:,O&-'*6_YWNLQK]0S_F2@-R=.RC'I&S+*")M%BD2T+^]:CJ=NCC_&J=(?/7TI,4Z?*"&! MP2VF&/9\VNU/HX-#VA63#_79=87J6;@Y\]P_W9^/7]>GPIWG[_#%I#GE;M4T MA^X?4@GE7Z&"+4"E]S8"S\GF'+NY46)='P7/A5)B55\N69HSJ07@]X40ZOE& MOV#_OPG&_P-02P,$% @ CDD*5\S+@U')#0 K", !@ !X;"]W;W)K M^X%0%&VE;8[G7Y(3)'$?=]S']*+M757?J54 M$#=U9?S+P2J$YOGAH2]6JI9^9!ME\&1A72T#/KKEH6^O>![Y^[5"]N&2AMU[H1OZUJZS6M5V?7+P620;USHY2K0C<-7+QJY5)I]?^)=6:]^[%J3)W-HK^O!]^7(P M)H%4I8I %"3^7*L3555$"&)\3C0''4LZV+_.U/_!ND.7N?3JQ%8_ZS*L7@Z> M#42I%K*MPH5=?Z>2/H^)7F$KS_^+=7SW\7@@BM8'6Z?#D*#6)OZ5-\D.O0// M]AV8I@-3ECLR8BE/99"O7CB[%H[>!C6Z8%7Y-(33AIQR&1R>:IP+KTZ5+YQN MV$)V(>:MQPO>"VE*TE9[N@MW>V6"I+=>' :PI<.'16+Q.K*8[F'Q1+RU)JR\ M.#.E*G?/'T+<3N9IEOGU](L$?VC-2!R-AV(ZGAY]@=Y19X,CIG>TA]ZL*&QK M@C9+<6XK76CEQ;]G][C*_:=^* *NU1&?&^*D7@0 M;%"9@NU6%!DF&(S%,AX M)P^*2DDCF+!R4>/&V;(M@)+BPPJ&$-H455LJ820XR$HLI1?*+&$&43J@$1VO MY_A8BI62@?DV=@UC/#CY[ORA\!L?5 V!BI6N*N6BM?G5IJT;+X#*HH8X^F A M:UUM@),P'3R@934DXK5R!5\[50"T24K(052T*0$O#@]%Z]5(_*R$=$I<&;LV M3#B0#3 (C?ZP"7(54?/KH6*A:>ZHM4% 5*V,K"^'7*UVLA%'200A5 M:4 N#H-H50D$,XYK"06JJB6M*5;Q.KQJ=' A*Y?$K:W) MST[>#QZRP4MUC;+8W):,S&$Y)V33 )#8;3Y%$QG%QPQ#%4WAU)GQJM(+BC\0 MAY$Y JUK+.)3D1K2 E3*!](W#[]=RCQOT+#H?CQQY/(X-VO@X>@(#Y9'!+()TKD MD2#63)=?$:6F.)^W00V)360)JY-1!&42L!<1## M0[&R0:Q!P VWJ5M8E ^SO", Z4:&5Y];W:"C"9&N)I?"EV5\ MVH719/WC'9Z7*$.Z4'=X)F#R.UIE_%9&FH)2[OTWLFZ.WR(@?:;#6=8'CA;] MB6/K";9>>K.S8BH,?:%BS&=[L.R[TD6]D]M2_E$K3:;>C2<$42^J^O%$7B9F M6^C=2AK]W"%O1>9>PH/L-"Y#,,0GZPAWP7*7##F_LD7&!J>6;#W&31*4"A\E M8@9N2A@8(6P:Y"0009Q(P(UU1LLA'WBKRS4=(.'I\SOK\$=Z@F@C?FAQ9!K[ MMNF0DEX:@\Z+ ID$8W^Q$:$P@ OURI.U(# %MFV 8Z$U,2TS8"Y&8GF@'9@;TIP/(-Q%K&^"G4#CQ#E+<,- M<2$LWL1T0\)(L^D*DKI!Z 7-!5_DMH!=-TS%;AO<,8;(169E47BY)^!JES67 M9>DH]:C\W]1QSRN## MF[-WHP$Y]JW.I.I MN:*H%LOH<45*!\X835C'% [PUD&DA9>7RHVB5 X)&*O9](CE4EQ:*-C)SF:; M*E1.\C4P@C-@AG3P69J,/JGXI+Z27^FZRJ9UOI6$[C9E?R3!7!BKI2=\I*O6 MY\*W\[2M$5V()4FUCP_W86R;V,L(%"O!.>G(2B MA[#+*K#=9B@&E9ADLY'K>J\BOBU*Q4A\[ *BL]PMJ5(4Q.8OF0+R)#7C#4=3 M<[QOYY5>=F4)["@%#77Q$NN&)#WFV>O*U*QV*T..Q4!6>[0I\%8BM%J M?&]IBI;MPCR;_5J!5Y5*GC;4D%CT:"W5UODFR4 888U):XD.; $AO&,AB9 1 MW%C>)R6SIL2H*KOF7()#Z.^*1>$UA'CP[&'BINJFLAM%4&>[)K[3F+D#;1I( M0R_>TF^6V6G17(GE"5)I)D/O[D([HNQ-\F3\=#=)IL$NE78%%Y MR\09\V!8T*>14"YI$@L[&"+CV$[H62A]+><5&NIV)]Q2P94UO<@=;GW%AB%38?3WKW>>5$1""ZAU:R&/A(N7AC'*SGU*C M/?/S!Y8O%1O2N#42_3_1@!TQY?EXA6%'ETQZH4DJZJ=H0DBYP"W\'/6&M@*- MC/C'A%W).G 0Q!BGHHXG- N4V<#$F>:L0C?9J=RBZ[K'3YNX(.1-FRFW84UN M<[&X<0C2+@UEX>"GV!^C;")4Q#-2_D(MVRJ2N#SX!<' (H)]M6$8VHC2"F-# M-U;+U!7?9DZ3(=[C+B'%*++O#VE(5J\4O'F?24QM868>!,=C>_BU^L; MFBQIO:9HO88FRZAN.<8='EDLLZ45 9IP'BFO5:[,F2C'?(UB/E?QT]P3E7-9Q5SA+3-8W#X^A=(^Z@PK0; R)C$GZ#;B M?R/.91JKZ!4,,+BP<.;M>$DJ__4A@\ 7B];Q6-_C3FN2!172-,G]MIH[TA(Y M%=MECA5*[=3DHJV;&4.CWX6B1I:*:<\,1M 'H[BM&H5]P&N0,+5W->U("C-AFR-Q3[4$$ M\CB)2*'#W<+]R'H/!"?]/AK&(=YF^MX0F1'<]VHRZ5;+*\1J)VDWBC2I-Z': M$6?L5!0)-,G!=0=/<:SBHY66\_Z*KM2>FF/:->!%RCHH0ISWG8E:=3-9VH6C.B-9K8Q,O;WAI10%5Q^Z')@0$ USE4]U.*W\+VD8M-.]E':&_ MT?^EYNLL35 HHWD_=<)CR7;),'W*!7,U MNXA[.I4GM3P21_HQ!RE$8D^!:&KD!N*=Q-=@!A+Y5'OI"9;P/%F-S8, (?-V MR="5T0O ,!QZC@:S]^($,1)B3Y,R0_('#LUKJ:N8AIN<>- 0F1%UHKS(F]+N MMP.\L%&\,:+O:4SLGC^W*,CT!<":KRM4S5Z_#*(=$FOG@;I>4<^4E-"NS 1\ M)_9<%9(8$?.E0XC&V;8)5'#B/I3#OK: &>2&P;&OM[WR[^,S^?L=95&3G5Q2 M1$PP&U.CJFAKN6BKZ@#QHWI;!&V81!QRUOP-7B,US\<[+_T1O8>TSX9 MB?N^@S_L_8*"5X@G7%"Y(,4?4W1WNY^BS.(O,+:OQ]^Q !&6]*UQI18X.AX] M?3R(6Z[\(=B&?X\QMP%UEB]1E0%=] *>4W.?/Q"#[@&PO=V]R:W-H965T&UL MG55M;]LV$/XK!W4H&D"-WFQ'<6T#<9*B+=8BJ+?U0[$/M'2VB%"D1E)Q\N]W MI!3%#1ROZP=;1_+NN>3J&9 2;S28MJZ9?EBB4+MY MD 2/$U_YMK)N(EK,&K;%%=H_FQM-HVA *7F-TG E0>-F'EPDT^7(^7N'OSCN MS)X-3LE:J5LW^%C.@]@10H&%=0B,/G=XB4(X(*+Q3X\9#"E=X+[]B/[>:R7OH W@<]*VLK MM2RQ_#$^(FX#P?21X#(]"OBIE:>0Q2&D<9H=PT*4PJ.\P6+Q^E4SB=T?(C@:RHV/H MO[ [1_$.L^V3/$>')3.\ "9+*+EH+98@B 8TY&>\ [4$L!723R-Z1\/OH>[V M']W^ ^T>#KOG7M+6Z-F5NDI?*$6YQ6P.\8%6PMBKH!N6'%;*5&B-O ;O#G+XS!)XA-G MY^-)F":YM],P/:.5[-R/SB:3,(_)OD*IZ%IV&;[Y'D"4V!TEW6)7)P/4#(TE M\73NX&U?UW04YN,X3"?)?YO7FPT5"]2FVPFJ&A@L6LTM1ZK6RDD U;@V9^#U MJSQ-TG3 S*$K'.TU6SI;6_^D&"A4*VW7 M=X?9X=6ZZ)KUDWOWY'UF>LN)EL -A<:G9^, =/>,= .K&M^ZU\K20^#-BEY> MU,Z!UC=*V<>!2S"\Y8M_ 5!+ P04 " ".20I7R'\[7I," #!!0 & M 'AL+W=O(&< M.R(KX^>6,^BW=,#]]8[]RM=N:UE2C1>2/[#25+-@'$")*[KAYDZVGW!;S\#Q M%9)K_X6VRTU) ,5&&UEOP59!S43WI\_;<]@#C.,W &0+(%YWMY%7>4D-G4^5 M;$&Y;,OF%KY4C[;BF'"7KG9,?;_NI&C#(?UO::%/0=0 _;4L3]UH**$2RRP7J*"-/%> H6TS:@- MEB!78"J$E>2VJYE83U[A_\;>T=:^6X.*4;Y5< )Y.,X'X3C._#J.DS#+$WBP M?7S*Q&FC9(%:0^(CP]$0LGP<)FD.5TPP^^9+6$M9NH3$[AQG \C':1CG.7R1 MAG)@KVL^@82$,1F% S)P1AQF8Q*.2 Z'+B[::ZL:U=H/#VU/82-,UV&]MY]/ MYUU;_D[OAML-56LF-'!<66A\-AH$H+J!T1E&-KY)E]+8EO?+RLY85"[!QE=2 MFIWA-NBG]OP74$L#!!0 ( (Y)"E=MS&PO=V]R M:W-H965T)DY<\X,Q=%R*]4GW2 :N.O: M7J^\QICAQ/=UV6#'];$=6JJ.&YJJC:\'A;QR3EWK1T&0^1T7O;=>NK5K MM5[*T;2BQVL%>NPZKG9GV,KMR@N]^X7W8M,8N^"OEP/?X %]52LOL(2PQ=)8!$ZO6SS' MMK5 1./S'M.;0UK'Q^-[]#=..VFYX1K/9?NWJ$RS\@H/*JSYV)KWF>2?ZZX?(\9X".987W/#U M4LDM*&M-:';@I#IO(B=Z6Y0/1M&N(#^SOE947V5V#*Y;WAO@?067GTOO$[^99'1/\BPZ"/C'V!]# M'#"(@B@^@!?/HF.'%_^(:/CG]$8;1D3\C)\\CV$SK1 R]QY=$WHE'= MHK?^^:2>'T'^P6/\7$QY,AMD$YW1Q U0?G.OCMB^PQ.X&%<2A M6XV@E/0A:X,5R!I,@U#+EFX$T6].X%(;01\8[7W46(_M$\#_@EWVJ#8[T#L" M[#2$\"N$*>R0*PU'$+$B#%@41]^,KWC9D':U>\(_)>=\[QNR/,O8(DEIE$4) M*XH4WHRJ%V94Z/QJ<6?'&N[#A8N"A7E [XP%00[GLAM&0V2UK,V6DUM, 1ZL MB5"6SN\_D6Z41K85B&Y0\A8M)0V_0$(\\F(QOU.6Q"D%"&D4+0*6YP4Y:TW8 MO"S';FQ=_BJD8U<*/MUXQ)=W4AGQ95IXE;"@B%A6Q*_A54SJ8A:DQ6M*4\CB M-&)Q6+AQ$N0LCP*B84.0%BH9SC4:IQJUHD:[P$\:W$'W72KH+U5GCES[F1L.9V ,*-"4JKLZE&4 M+UBXF$R.PHADD\II)PU81J>#FHL>T+6'=G<,%Z.B4^GB'X[*8(OD6R(Y5E9* MB5AIFQ-B0.6-H5:R3-UM7IW_#4ZG MEOA@/OU87'&U$;VF\UF3:W"^:[EUS@8 $@0 9 >&PO=V]R M:W-H965TR!:4I3:-7$S[9;7Q2J[6CC>G5Q4:LY/?2 M_;"Y,_B:CE(6JI&M5;IE1BXO)S-^_CXA?L_P3R6W]F#-R)*YUC_3Q^WB2WKF@0!QB^#S,FHD@X>KG?2/WC;812=+7[I+??R<&>E.15NK;^+]OVO&DR855GG6Z&PT#0J+;_%0^#'PX.%.$7 M#D3#@DT<*;ZD\#G&KI4KYW!E2%<^[JMG6B7:EY M+=G,6NDL$^V"_4V)N:J54]*R?[BU-.SS6K3L6ZT76U77%U,'U21@6@UJWO=J MHB^HR=A'W;JU9=^T"[EX>GX*R"/N:(?[??2JP+]V[1F+PX!%812_(B\>_1![ M>?$7Y.U,\^:_=,J-LE6M;6[EY.KM5SP+W[UB0S+:D+PF_8^[RS]!#5B97C)^:S1QJG_"E]7/FLGZM_$W[UMR2>5M)9] M>BN:S;L;4.*@C#-V0G;&^2GC>1F$9;DG9+"I@'&\S(,RC=@'<:^-H.NJ4&(H M,?M[8S%$D-=.XCP)HH)DA0'/BT-"!-D!Z8 M8S@>6S'.E\EHS?/?-RR!'MP!8./*>)"G/,BBD"XM"I(( O/2K],"A#SJN>AJ MP[P@KA*VI=!P$(N[N'YD/[3+ER;OR227HHAG12^WY'%0A#G)S<,DB#/^DB?W MSN3$4T1A$/$8#(8Z#&+7@F>5C3DT/@^UZ9\ 7 MRCY]CRGTG)F<><07>\./NFKO#=4.'0$!J:DC.,]II&^DK?-4:9UJO&^70AEV M+^K.A]L,B%!O6W;S+280:5:/?['#='60[9:=S-$RV$9;19[P-_ 25&]H2WFQ M8SJ&W9ZR[5I5:_0S3 VB^J53B",V?V2=)6L^"E3:D/<7H5HDQT)Z(T9<,SET'HIKJ&1 MIFA&PP^-NE_37$ 3,1CU/<0(MH&7]<(G"/I*RTY0=!ZE,';P!"F%&F6I86'0 MA:\)Y<;H_R#VH,#0L8YNM=*K=D \>Y97A^6A]QNA?)%=NXF!E(JZ&MHR*A#% M#K0^M:.1;DW0[V6?=$;2BX9X.RN778U(7"*4#EJ#DZ8!N+%"+CM'X^'3*K 3 MU\H'QY84+KT_Z,YI.)%BZ>)?!LN45I*%!(TK"A/?0OT MU!A4S -1R7B"7+"J!DFO& \HU,@Q^@VX2 [951^PP1D].DB MYQ">H&F5%*H[!R5%$*)713@8IA@G"LPQ43*8@9Z5 EU1L@+>0TDC^$%68@W$ M/X[A1"$LV KW2I%,]Z?:,:I^I?R XTU.C3O=5:)7BW'$%@CCH3'0RX$B"3)H M]"/]TA^6+79U@4 ' . 9 >&PO=V]R:W-H M965TTT10%?=)G+F9DS,^)19]V5KXB"N*VU M\<>3*H3FU7SNLXIJZ6>V(8,WA76U#+AUY=PWCF0>E6H]7RX6A_-:*C,Y.8K/ M+MS)D6V#5H8NG/!M74NW.2-MN^/)WF1X\%&55> '\Y.C1I9T2>'WYL+A;CY: MR55-QBMKA*/B>'*Z]^ILG^6CP!^*.K]S+3B2M;57?/,V/YXL&!!IR@);D/AW M0Z]):S8$&->]SGIM]2>5A^IX\F(B_HDNR!X<3D;4^V+I7!H):F?1?WO9YV%%XL7A 8=DK+"/NY"BB M/)=!GAPYVPG'TK#&%S'4J UPRG!1+H/#6P6]<'(I-0E;B)\-N7(C+IS-VTR9 M4IQZ3\$+:7+QQMJ\4UJ+MW4CE4-)PM$\P#F;F&>]H[/D:/F HT/QWII0>7C* M*;^K/P?H$?ER0'ZV?-3@N];,Q&HQ% MW U-3K[_;N]P\=,C4>R/4>P_9OW_K.>CCNX/XS]Z/V\="X6*1*&<#^*ZE2Z0 M8U/+Q=Y+T1$&0&9+H_Y&<4)GA3*YNE%YBYJ@+N19E)+79O0JH]>IP.P24@0; M(,URW*FBL1T\-*W+*G2UD*4C8C"05R;3;3Y @A6;*1G@^8Z'.%68,DP$'YTD M%WCF5=X3B!T^>8[6U1IW,_$VZIA^*'4J5.S$4P\V13/EB(&%')PJ$^P.O%%G MQ,Y^!0_@@-^88QOI2P-\MFMO6*[B1+(H!P_&$M]'O/L_B3U<%TL5APQ<6& MI)M^74_(VK8F[$8?H3->KR*W9(BX/.<.3MADVECD9N(T"]R)95NT(S50R'#7:$P"1B=, MMR2>+)?3Y?+ECNHC/<)3(2X+$UL\Z1NY!J+9"TUA^9[ MJ@TNQ\8S&.9218'!A>\?A9$YF! M_Y3/Q"?:25I"17U]"D3K>:8QBE IE]_=6)SYBM+KD=)Q@YE,:97V0MP7%?53 M&&G#9]%GY0,GD*[8,W$4L@Z5-N9K.QND]O;?S,6HDH\4Z,!H^FP\]B%A-(+* ML9^Y*.0 1SO>^KA C_USX8O8I#1\'2UT'"=0M)@!@T%SF$B$0<2C8$ <;#> M-FJ[+Q_W,A.7E6UUG YKWF?7K7)?"2S1,W;F-D.)R='4^FY/>Z*K6"\LSC>17@F+X )!NZWPH6-SO,&0][>Q89<85P=\KTF'L#?F+7Q'W?2G.=TX! MZ(0RGG5\ IT.!./3\3AUFDX16_%T%GLO7:E (4T%5!>SYP<3X=+Y)MT$V\0S MQ=H&M%V\K' D),<">%]8&X8;=C >,D_^ 5!+ P04 " ".20I7Q*E2X!8( M #!$P &0 'AL+W=OF?L'VZKE!>/55F[F]'6^^;M9.+RK:JD&YM&U7BS-K:2 M'H]V,W&-5;)@I:JM+7:M/5KBVJJ1]NE.EV=V, MDE&_\9O>;#UM3&ZO&[E1]\K_WGRR>)H,5@I=J=II4PNKUC>C=\G;NQG)L\ _ MM-JY@[6@FZR,^8,>?BEN1C$YI$J5>[(@\>=!O5=E28;@QM?.YF@XDA0/U[WU MG_GNN,M*.O7>E%]TX;&< MKBDI]][BK8:>O_V[PI7<]<3#%NU,\D[O+NBE+^C-Q0=3^ZT3?ZT+51SK3^## MX$C:.W*7OFKPU[8>BVD(O?_/G?'8&)V MW@35PUO7R%S=C !XI^R#&MU^_UTRCW]\Q<'9X.#L->NO1/Y;],3'UHHR+!NK MZUPWLBR?1&Y0+\X+LQ8H7"N]KC>]G%6E]*H0W@@#[=S8QD!"07BM.<%/%(-U5TD M=@IEXI4%>I70:V@)::VL-PK%[^V*T#<84.) MO)3.:3@IN;!SJV%=2[JSQ!UJB;.%L:CG"JD90CI)::#Q)2%(8RMO+0> MKGWF-;S8"$IU[R:"6J"#XQ "IBEUP3ZO9,E)XKX%P'S>JN%K@Q+Y: ME9M-K?\+70 B6*Z0@CQ@B*P>QX<+%F\>9-ER2*RB7 PA&%(HS /C3'7[[#VY MT#H2!E@1)\O'R%(@@2AS>L&%TU4;';33?GMBQA$(==64.M>>%1 B()NFF2PT M4MK7A5R5@"?&#"P8I_HL09;RA&JBXI7.D"!J7%E&ZHN1X*I!V>UT60KUJ&RN MR27(&JY)Z@#J$6X7>X\C6M:G@6 +'5 .WK$RSV620F%MC?67(?$G4*,;:Z!Q M*Q]4B":RBD@&X;5(4E&%26*H*!WU'5RZ-IZ3;HM]3H]0,^[PIQX; AC7SDMG MO] @U_H1Q@<@D 7"$)=X%&(^H(X(A*!)PH5"/9ED]5GXG'.-)/P6S28T3?W8 MWUK1_!28?FJ8?BR"12IVTHF+-)E'RUG"NQ>S>!YEV3P\I$D<)5G6OUE$\6(6 M4;MN%).=\@FI:9NF[.&KZT#C J,:ID$'M][/_^$=.25)N@2C+9^9*[0+0X ;RQD[<_$7_OSA-DBA&R?W< M@NJH8?8/0[[2/O2,%H"W3 !R:DUE29W\V\*_H]Y^&.G]O3J*]T\@1=#-LRR. M%LLL;*0BF:91-K\*CU-TT 2/W=N96*!;),OPE(D,UT>6/M,DD6N$1B2S693$ M<1>1DV&(:R^NHC2[@@\./F%ZM9ZK!ZK@'")!_XD7\TY['[7/0P<$$HE?;3'B MOK;20L\A+[D,9L0766(\59'X &R I@ EWKNN47?-F:,EF\::1R8Y:-NS:13# M:4BLCU^9V/Q/D"M!'S(;VY\ M'=L*9 ]-_@(Q2S,(?SS1GS*]51P=CI(1?F>>DTMNK7@AB_^8T#16K2X++)@U M#=&YP[P%E\WE27RBGIXR)SF*3#J/9ABB_V]D7 @-=0O^LF&,GN:-Q(\L'='\ M?FP_ZX\H$&7H[>!ISCR#CG MSV/ MC:+0M-VQAS.VQN+.P%A7=3TQHJS_BEM(^R2ZM//-K/K: A4]^LEN@T0? M()09PM9%L'.+&_E + IBM)6F4X#'/?NG /%,6RF_4R!P%PD5"A<+TP*TVXP? M0[X.OQL.R4P/>T;\*7$YY6Q[N@-?CM%XD&UL MU5C;;MLX$/T5P@V*%E!D77R1TR1 DG9W6Z!MT&[;A\4^T!)M$9%$E:1\V:_? MF:$DVZD=;-^V#XDEDG/F=F9(ZG*M](/)A;!L4Q:5N1KDUM87PZ%)#<- -?)++W.+ \/JRYDOQ6=@O];V&MV&/DLE25$:JBFFQN!KW M(UQ/"[Y*L39[SPP]F2OU@"]OLZM!@ :)0J06$3C\K,2=* H$ C.^MYB#7B4* M[C]WZ+^1[^#+G!MQIXIO,K/YU2 9L$PL>%/83VK]AVC]&2->J@I#_]G:K8W& M Y8VQJJR%08+2EFY7[YIX[ GD 0G!*)6("*[G2*R\C6W_/I2JS73N!K0\(%< M)6DP3E:8E,]6PZP$.7O]V:KTX?P6_,K8G2HAUX9CN"Z'%M!QS3!MD6X=4G0" M:<+>J\KFAKVI,I$=R@_!JMZTJ#/M-GH2\%U3^2P./!8%4?P$7MR[&A->? +O MS?=&VBW[ZV9NK 8V_'W,1P@-'3Z'_5"Z>1#INYREX=G+BFV \4[6%<:59;)' HQ*5>?? M&U[(A03EAK0JTFI(K1LA0<.L8@]BRT19%VHKA/%8UN%[X,!*&M2$8BG(0[FB ME,_^;.UD:PZST&@R]-.R%==2-89EW K#YMM3IH-:L!DZH1&TI TT&)=S>,;% MJ2I+")2S5AK3\'DAVK"@R$VKE

-=";64@J M)Z11PW)* R\*7*\:W>:B2P!ZAO,+@#^$""?L!>(/]CT=O/1;(G4I70ECJ;EF MK*D!MS/50#>TN70#LLKD2F; BD/U'BTBK],4VKUV[K6>-16" W"M=#=N&B!D MIYL48-X^]BLUC(5K(8 $[U.D2CE M%1HP!W1A@*,Y=S8ON-10;/I!(,&+1NSB SC%5E;+GK=.8I\>%&AG3M64-]'?[X,X"R!XEO/57N^"#A0$7A $>S'"@C^($Z:WSRL$%9^HT_ U.&?V MXMB'PI&'HKA7G/VTZ\%= X/Z0)UD0=?=5-OW9I3LR&=??E3B/8K2K]56'L7J M)WM*IDHP2,+I0!3<22H-$?J/3627B5^A@SS9.6)O-!TCA7^V=Y"-(GM4>,?Z M!VI?+K58MAZ&T?A1S1S4"QPJSD(_#/8B#VBIT!;\WA4JAHAS77!3%SH=^!!_YX+P"')P!W.CHX4B $F'8VY2QY\^2*(Q>L3MD>4$'N P#L1 2I5^,(I1^Z<3/SV(_0I#( MGR6'-A^&".Q-IL?M'4_!WF!G[RB8>,EHW)F$!?@8+?2FL"'/IA%IAIL _(!4 M"%)?72-L>0A4QFU2$6U_M"E CHV2+FQG+)Y.O.DH@ Q61A42^=5N;>>N[-XZEZ2F9?,XG8B&7L3 MV QQT$%_1>DZW\!4$L# M!!0 ( (Y)"E?[#QX5! 8 /T0 9 >&PO=V]R:W-H965TNP8EG3CX=A#[1T;7&E M2)6D['B_?N=2LBPG=K+T>2^Q1/&>^WUXF9.E=5]]3A3$3:&-/^WE(93'@X%/ MC* M"5\5A72K"])V>=H;]=8+']0\#[PP.#LIY9RN*7PJKQS>!BU*I@HR7EDC',U. M>^>CXXL)[X\;/BM:^LZS8$^FUG[EEW?9:6_(!I&F-#""Q,^"WI#6# 0SOC68 MO58E"W:?U^B7T7?X,I6>WEC]164A/^V]ZHF,9K+2X8-=_D*-/R\8+[7:Q[]B M6>\=3WHBK7RP12,,"PIEZE]YT\2A(_!JN$<@:022:'>M*%KY5@9Y=N+L4CC> M#31^B*Y&:1BG#"?E.CA\59 +9Y=2.?%9ZHK$>Y*^VM"[L5/)J-L6WX HUK+DK5E%\F]@+]6YD",AWV1#)/Q/7CCUM-Q MQ!L_[.E;Y5-MV5DO_CR?^N!0''_M\KF&G.R&Y(8Y]J5,Z;2'CO#D%M0[>_9D M]'+X^AZ#)ZW!D_O0'Y.:>X%VF[D'77S,27Y](<[3 MU%8F*#,7UT&:3+K,BS8D2J=2@.Y 2GDNI,A@BD";C9X2/0BLY55J%E?@!.^E&A1KR M1Z%,U(0WDZI2:@8HK ]"9@MI HC&5AX=Y+X"G#7Q[E;5!AG2?"66N4ISA.A;I;AJV6D@P4[$!72@"O4/1=65)TZ7G7*>@4KP MI*R"[P."'!0NI-*\W@=(QI1R1[8R=Z19V#1NL?T;&Z-KC.L8PQ$)30O2GH$: MV9CF0JXXR5 1<]E$J -T+'YC03$2S\4G([._07[8^ZVR_!.SZV-6(H\WT?9%<8&D4N@2+-JU:)HD1*U'Z7>F,"^ MW^_$QR)^7$M(S&V+4UV!$=GT1M,&J1%N]MR2_ ^>,:BQYOEV3/H[@#RRK*7; M#W,KK%P;#[D6\\IY[Y1+U%6!4M$.""6W#A-*I;4(Y(HUD]QMN)BDF)-U<.[D M@VWJ6@U2*9U=*([NE,>+=6#'L83N%C$._#@-H( +:4 %W*#/GKQ*1H>OX>8DDF MK_>LC0_[DZ/#QD[WH"6/!NZF)_D_/6UZ1@G"DVQ'<UMOW97\B!2[ O2B@FC)*=LAC$D M8[*284L?R (B" "/;7E[LC4C$P_?')-Z"KR%=:U,' T!T:K#,_-I77KU.,:D MOP2[:92.RDS^;BB@/51Y+"X[DW% >:=43%%IZ,FZZ9Z*HW'_<#+I-L$\ MEG93!-L VVHVS7V_&F[^PTG_Z.C%=ZA).D6ZZZXSZ%Q)"W+S>/%&W'D KF^G M[6I[MS^OK[2;[?4_!M"K<[9)TPRBPX/#%SWAZLMV_8([2KS@3FW =3D^YH0" M<;P!WV<6Q=>\L(+V/QYG_P)02P,$% @ CDD*5Q3V.HL4! VP@ !D M !X;"]W;W)K&ULE59M;]LV$/XK!VW8"^!9LIQD M16<;2)QM;8&T09.M'X9]H*23Q)4B59*RJG^_.TI6'"P-5B"12.KNN7ON'I+> M],9^=#6BA\^-TFX;U=ZW+^/8Y34VPBU-BYJ^E,8VPM/45K%K+8HB.#4J3I/D M(FZ$U-%N$]9N[6YC.J^DQEL+KFL:885K7GA7BW:46%=^C_ M:&\MS>(9I9 -:B>-!HOE-KIMB&R6<$"K, M/2,(>AUPCTHQ$*7Q:<*,YI#L>#H^HO\6N!.73#C<&_5!%K[>1B\B*+ 4G?+O M3?\*)S[GC)<;Y<(3^M'V/(T@[YPWS>1,&312CV_Q>:K#B<.+Y L.Z>20AKS' M0"'+:^'%;F--#Y:M"8T'@6KPIN2DYJ;<>4M?)?GYW=XTC?149>] Z )RH[W4 M%>IMD 6F2KI_!6\]\UP%O_3_Y[D_YPK5TN3*NLPA_76;.6Q+-WT]580QR]G00 MWD@O72MRW$:T4QS: T:[[[Y9722_/$/A;*9P]ASZU[?LZ^ >5V3,^K_/=QK> MF@,V&5I(UZ$]Z0)ZI#\J7J!)$>TU0"_([U'^SNC.AXX>*WS96 ^V;X:"FM8"M[*+-BP"?S M\-&M(@)>EJ6+?ER 4(J#];5I0!#OIM,REZU0U)0Y-4>\CE,JP43RUIH#K2/[ M3X27@50[1Z#"D3T=O%"(ADY(=_05C>ET*,C^^BU\NUHD21+^@>3VTS]=47$[ M Z?6./^P0L#4'N<7H+"B+$M$MPAV0@]04I5KZJ=%)7$L9QXJWXB!3CIL F&L M2!V0T0V0UYP"RX_WR>)DK1?6"NV'!6BLE*PX=B.=Q; =B.U8%PZL.^D$U6$) M#Z4=PR!E(#SKA"H@,KI1J/]J@%5RE)N >\P-H4-X&%A)D8UQ0\5)+QGR^ER6,>6]T**0@DEUY*Z60/=/B#N@L(!\LL(U MYN/F6Z].-M]TV!2DB?.@B* >ZD10)>,?E=37DEK%C=7&4QX4[$#2" E0S[F( MG0U]>>K$BD\NG(9V5KA674C8CW?/O#K?W)?CA?5@/E[[-\*2H!P)LB379/GS M>01VO$K'B3=MN+XRX^DR#,.:?GV@90/Z7AKCCQ,.,/^>V?T+4$L#!!0 ( M (Y)"E?BT!$!_ 0 "D- 9 >&PO=V]R:W-H965T*+WM+$0)*U6P=T"))N^S#L VV?;:*RZ)%4G.[7 M[TC9LA7$#C"@0! ?*=YSS]W#HZC+C;%?W1+ DZ=5W;BK9.G]^F(T6N':U M4O;;#=1FX1;J.@ AC7^VF$D? M,C@>VCOTCS%WS&6B'-R:^D\]\\NKI$S(#.:JK?V]V?P"VWRR@#.3=!8HL?U)>C2^MV1 ;5B-: M,&*JT1O)Z2:(\N M/M7HY\W=-Y\F/>.;DLVG\TI$/ MS0QF0_\1LNBI\!V5&WX2\->V.2U@;ZW6S(']= M3YRWN!'^?BG=#DV^C!::X\*MU12N$MS]#NPC)..W;UB>OC_!5?9-FX%=2DWE.*%,G!9TK,[8._+%>%5C(H'!85<^BWP/C]"T0'XD\.3!-NBS MK]8/A%,I,YH+AK:@5<9I540[2RG+OBDYX^_1RFDA2UID)?G4(-2N&'8; M8;=>-W_41'?.:1'^FBH8CB$2RSH[[,JJ:Q&)P8MG+2(9 MTJG$*RV">Q[Q]BT2Q\HA##L\$J2I)\]@,+.B%&+%=!"I8 M#3<7IT4JL"VK(W(P1KDH:%GF49NBJJ@L.YU+U"F-FF<(@'N 16E2%%?0@LO3 M+?*J&#FM9(7)Y3% E1=4QDU1B8R6SQJ=!39XH+%76Z3 C5T=MDB<.*['(0L\ MFG!#,YD.6.PQ!CR>*<)1O8J*8JMK.,)$+",>8(5(!]E@2Z)^7)3?09/P/CEX MZ>@7JG7L5:2;:=WBZYT\*JM-Z\ATA[.E=DY>NBN-#JZO*.TB7M*#<]OX[B;; MS_;? =?=]7>_O/N(^*SL0C>.U#!'U_2\R!)BNXMY-_!F'2_#$^-Q'T5SB=\R M8,,"?#XW> /9#D* _NMH_!]02P,$% @ CDD*5TB\%?EP @ H04 !D M !X;"]W;W)K&ULE511;],P$/XK5I!X0DV6=F., M-M(ZA@!ITK0)]H!X<)-+8LWQ9?:E@7_/V4E#$5TU7F+?^;[OOHM]M^S1/KH: M@,3/1ANWBFJB]B*.75Y#(]T,6S!\4J)M)+%IJ]BU%F010(V.TR0YBQNI3)0M M@^_69DOL2"L#MU:XKFFD_;4&C?TJ.HEVCCM5U>0=<;9L907W0%_;6\M6/+$4 MJ@'C%!IAH5Q%ER<7ZX6/#P'?%/1N;R]\)1O$1V]\+E91X@6!AIP\@^1E"U>@ MM2=B&4\C9S2E],#]_8[]8ZB=:]E(!U>H'U1!]2HZCT0!I>PTW6'_"<9Z3CU? MCMJ%K^B'V/1=)/+.$38CF!4TR@RK_#G^ASW >?(,(!T!:= ]) HJ/TB2V=)B M+ZR/9C:_":4&-(M3QE_*/5D^58RC[+[;.'CJP)"XWO+7+6-B6G\8YR/%>J!( MGZ$X$S=HJ';BVA10_(V/6^.8O MK5%\O]PXLOPB?APJ=V!;'&;S77+A6IG#*N(V<&"W$&6O7YV<)>^/:%U,6A?' MV%]V'_])(<0@[]_O XA:;D' 5NI.$A3&PO=V]R:W-H965T7[N\HVJI#LSC:KQ9&5L)3V^VO6Y:ZR2 M!6^JRO/I>'QQ7DE=CZY?\V\?[/5KT_I2U^J#%:ZM*FFW;U5I[MZ,)J/TPT>] MWGCZX?SZ=2/7ZI/R?S0?++Z==U(*7:G::5,+JU9O1C>3EV_GM)X7_*G5G>M] M%F3)TIC/].67XLUH3 JI4N6>)$C\=ZO>J;(D05#C2Y0YZHZDC?W/2?J/;#ML M64JGWIGR+UWXS9O1U4@4:B7;TG\T=S^K:,^"Y.6F=/RON MK%_.1R%OG314W M0X-*U^%_>1_]T-MP-7YDPS1NF++>X2#6\GOIY?5K:^Z$I=601A_85-X-Y71- M0?GD+9YJ[//7-VJMG7AG:F_A("'K0GQ4I?2J$#?.(2EN\B^M=II<^/KTC>./%#7:AB?_\Y-.W4G29UWTZ/"ORUK<_$;)R)Z7@Z M.R)OUID_8WFS1^2];1U^<>2!:JEK&3*E'C!>_/MFZ=A)_QGR0SAF/GP,5=9+ MU\AD_]\Q/"I]6/>_2YMO MQ&01 I>).R54[97%>EU[ P%"KJU2*'K!;T0X[X=:V?56?((. M.E]I62N3*>B!;W$P@YU4MZUSMU'79_DZ20YQ8F5-%>1D M?)R-_@*RP!%N9\?.<\F:,W+A36-U*2;)@WZC]IR8-.]AA-5N<798Y&;M4*>A%)V M6^=5-13?ATY(\;I54*E489.N;Z&RL5MD"78NMW$QUN6FKF-OX1PEGS?*H$4[#QM)@,QSTU)HK,J5OI7+ M4HFBW7,/Y)*%LJ*%?.)L'$XDU?A1+QW)^,YU?B-]E,)>I"H)H7Z:=S:#KE%5 M4YJM@F_N-C!T94HP##*&=.FV;^1M/^YP&CP&R[ZB0RA/EF:"P*&TRLTM8]AR MRVL>2?=06<5>VN\5Z)GX<4AY3D!.XQRP+!)!1U@2T))9)1$D%0X:]$17E8?Z/V9NRN5=\L# UF*+S2!- M4[H8\3TRK5H")&:37E=@(UA!CG:O4GL8)8N"LTR6^W#UB$*A= ;"1Q_;)16! MU[($?CA=Z5)"/64C:"!?PEFPX?=^S#B33B&'><"8I+R M.XU,J"4",@K(#H1)524!B/1H&Q(6!!QZJP R_-"0*WE]2N&D MIQ[9)OJ,.1 M<;DZ$W_U,(9S[TA#HV/5?<.HW]K4;D5CK$>1:<,G8\T2'EUI'^),0DM3KT_) M=^P<9@8IST"=E*Q$#$)7,JY_+FO)"5 HDL+.9>Q@=.%^S:[O4J%)6/,UD[( MV#N.UR%V:L//@IE#,A>^]93[Q#+1"U)CMN8MH31 M*B%M+#BYM[*O8-OU\;Y.E?(;@RY_XY(R_:<%+.$J HJ;=:W_JXH,=8Q<"NV1 M [4VIKC391DH!)('MJTT(WYD*EVB) ^4>*Q+S4TW@ADX# (OM16WLFS5+G2Z MSLNVB%FVTA0(U!8T0D4.N3$5QFG)NP*^4$4-A M?4EDNZ?4!RB%W]#HQ3.16O_-0!$1AW]K]M0Q"*V7)[FE&4;F8O1"_?"W3!KSQ,DP3O84? M+,&AWZ*1E#)"@<*SAH$A.>*7CGK,HV%[IR/K9+W6G2+B-([:RG9!Z"=ZG*% 9"XGV=7BXJ3WZ9_0Y6A%0A]$ M\&+^0OQPGQ-DL/.)S(&(' 2E)CP[V/_\IUC])TB;R^DT>_%BPA41:)WK(0>G M?,?ALGV]#CT8T&\X=2A$Q1%/T#RA=LT2R=6HP$J!ATVI^M +P@VK)0)+9J9Q MA-H!]FT=,8V;3^_$%4*E'-6V=AM&XTI)U]K0N2.9ZC% .DC6%#KN"Q*J20=5 MV+Z.\'I=,6\TR]!K"3[K<"]&*NYTPYKHK2TK%P^'SC@8TZ9F]D&CX3#V,UC( MNC8>?1C>HL:Q-=2.:\6$;]=R'\&WO42(D#8EHOA K("CO+K1++8U=BJCBE'!Z&WELD .D)B+#; 9ZH;&VEB?P MI$"DE?:S\@?JI_(\FH6[EJW=9RY#DVNVJVOWJ]93)!(M0?04K$'B%W$F,-SL MD808XN&O,.FETU6X@+"*RRER.=M?2F>@A&I3Z5S<1DS81C/ =M[]_ $LT_/0 M0H-OH2C9$R$,%ZN(MK]3X/=(A]9"E36\O&I5&=".^+K5.8F%0_D>!.25C@@B MJ9HH=(>E@4CEE4\?2"7\*"D MK(HXP774,Q-,BVF_543!Z1AV#AU9[CL@UQ%-<9HI;^D^Z/=C#J([E\@ 8K8@ M(GY[NM+4H.:+$YRT=0>C->?K*J@$O^$K .E+BX&%":LU[3K4&H"JU/@MA@DC MA8[GFC!B);SK9M)2W5)3?XS#1P[&PR_J^?FEWYS ES6TM0R\CW#BS@O[IL/S M"&,<9@%/19O[@_G8]09DQNL'!E>@M;J!G3S2!*0K,0&23W=C=]!@=\6)FF@X MWUP2A 20:SQ?,T)&>/+2KI5/'6Y8=-8?!..EF-@@=Y4=WB#T:F<>(7HDZ^&P M[E%4>5""#7C'76CQ+;EP,OXV,[%IJD 3VY&DSA %//+J97 MV=5DQCN?,;<=7V3D1O(1RJ#<9MVHPIX157@!H^@%C/BU!8%(KT\Z%.H /7:+ M=+\.Y=?A>HH"V-UK<],9*C4B ^A$)IE7>D-%P& MZ#VN2V_EN(7>H0*HCO)<-:1"QQ&1A_FFUE_:T*1I!K<%QR>\72#*.(5;1C^2 MU#]9ZOL=8\Q&-)8=!1<$D*D17^ $-D-XV=,RDH8PWK6./4@W&GQ?5/N]MLQ] M/G(B/OAA3PFL&A$W#?>K'K_:Z\INC[E%&PYC^7!X"&1[-XVD&Y(G1(S2@")F MBS#.I@N',Y&&#^X[5M/(3>'RH#/+-DSB,6O6)G*&7($AHB]P>>Y='B3FG,7\ MI0TZW+:J"J(*?A^,>.1J=Y'175 QM7I(+Q_K/##C3I4EW]?TV U3 K M( ZYLRN:HDK=;W2RP#=-;Q*I7MGU&W"^GG/"50EG3T*RA[<.^!K&@SUPA,?1 MP[B^PO3&'-[+>XIX8QS?K>^D=,,K@V[$W/A:(504X@BT9=?2Z[HZW.0 ) @> M&)(*1?94\1V::UD"2U,1O&L7\J!#[N>H-TQHIXOQZ6Q\.CEYZIW,DRY/S.KE M 39;7.(3WSI/7QV?\N=7\^SJ:MXM MQNB>3>>3[ONCJNQ2]W]?@"I9\U]14*L&R(0_->A^[?Y0XR;\?<)N>?@KC_<@&1H(5ZH5MH[/+A>C M<-6?OGC3\%\K+(U'2?)'J@]E:0&>KPPFM/B%#NC^?.7Z?U!+ P04 " ". M20I7FYCL;@@& #$ &0 'AL+W=OLTMY3:,P:'VS5 M"F-=*9/^Y5T;AY[ H\D>@6DK,(UV)T71RB#?0^"&Z&J5AG#*< ME)O@\%5!+LR>D,^&%-*+WXSN24WY0I]=.64R56N*6;JTQL/F/*6)$WC1 M)?"JE\!=3AQ4L]N)G=CB94EHM,Q6M31KCF)C9).K0+G(+')N?'IJ#<6B4$;" M":F%!P:AWX,7I;PEL2 R7'JU=-BG3 1V.783FB248DF&G-1ZS5^H9C2YS5^] M#0ZX"_*!G*IZ^I1)G-9%*V(&.* ,\MU$UO B6,'M+XXF#WZ-V^8NJ$R3>,3. M7].RT0GBYL$?(S&/)D*]7@\9:RUR*XP-P,QTDR,X6K[Q8?YJ'''5-@7:&="2>F:C8ULJTS5Y) ][ES\-HE\Q?@W!2!CA'*B>VPU & M1@!C1RU2%%*Y^Y2P35?K9CX2O]2P/)J)G:#(9"-;X-6=J!(-$-. 0!/3IHD% MLATCUJE5\%Z97&62^9OM9I .-)0RP)$UU NZJ\'U7%.MIC5)QSK8BB> JQ;D MQ/%14C2*Q;JG*A=2QSI+@Q$JWA6?PFF??$:48!BT.EM%M;V*_T"= S@ZP%O MO7BP2.:[]=*Z_/^7# I?%(V#$W!C5:JL%"M*'2%937!6:S:C3SR@(O*!;;6>^@A;G:L286"RZ013W[ '"6W7*.WL]&P"Z*X?'HE;JQN(H$-VX]LNA2O+92+ M6VAL' WO0?V,$]2?.$$-Q?/GE\.M-WO4"=B7(R+BY.CSGD?/S"UU' ((<'> MC"]5G:*7\O)NN%J2_*BHQ3Y9<0UM NW5TJB"C>3&*71#W+M,)&VB6DYHD/Y4 M0MPP82TJ"J4%6Y]3E><43NII,= MO*/2Q'EE8O/=,&CLF+:B.MKRO4'$G%+)-TA0YT J7(]+0]T.9"9,612@^G82 M,%,PS56;GL1^:MM5*[E0.O47KW/E,VT]RI\WCMMG MCB-T7-,:P%,*'.1%WCB.X58H1A2AX8K$22(P#W9S#B'7;'S!Q-M.FL@=NTOE M7O6=;JKO]&#MH*UM1>*EO-M=>1\O+5)YV5OE8\[2 2Q^#_%[6QK[>7K+SKT8 M(Y0V'2L8]'XP9.CH)$:J?QS 5)1UK===M O*N50C. MO"$N1I2*;X=E@C<6V(8*!:KAR0O*->H?G'AV)6# M;FZX\W2QVVY/U^,7TBUQ,!6:"HA.1M^ !URZ!P &0 'AL M+W=O1#/A1)3;=2W>H: MT%BCD=A8DP>/&)[ZIC=V(YM..;7")YDMWHV@5 M#2@5;[#57+:@<#T++I+)8F3UG<+?'+=Z3P;+9"7EK5V\KV9!; -"@:6Q"(P^ M=WB)0E@@"N/?'68PN+2&^_(C^N^..W%9,8V74GSEE:EG01% A6O6"_-);O_ M'9^QQ2NET.X?MEXW3P,H>VUDLS.F"!K>^B^[W^5ASZ"(7S!(=P:IB]L[ M, N/E[Z E\,'V9I:PW5;8?6]?42Q#0&FCP$NTJ. ?_;M M*61Q"&F<9D?PLH%PYO"R%_"NF6IYN_&D/=MO%RMM%-7'/X?X>KC183C;,Q/= ML1)G 36%1G6'P?SUJR2/WQT)=C0$.SJ&/E]2#U:]0)!K>-^6LJ&KL3=V\L.5 MA;!@FI? V@JNN.C-\^1[,D?='2;SA%MY7!"V9CH*0+OTT60 4R/]%*)3U/P> M&E\&:,L Z!)QN$2G0D(:4E?K#EU?BH<0MDAH3!.@H%FA)_#9(>X7U!/2DGP< M/G$^+/Z>]+%O4#$CU00^TJ1S#-@=X\+6.1@)U&CE;2U%A4K#;_#FK(C#)(E/ MK%R,\S!-"B>G87I&)]FY6YWE>5C$)%]A*ZD[O8>O;A102.R.G&[0YTD#S41M MB#R5'[S=W5CO.+&F!QB5 M5:#SM93F<6$=#$_Z_#]02P,$% @ CDD*5Q/B >"A @ MP4 !D !X M;"]W;W)K&ULA51=;],P%/TK5P$AD++ELQ\I;:25 M,3&D2=,VV /BP4UN&VN.'6QGV?X]MM-F!;KR$OO:]QR?Z_C<>2?D@ZH0-3S5 MC*N%5VG=S() %1761)V*!KG960M9$VU"N0E4(Y&4#E2S( [#<5 3RKU\[M:N M93X7K6:4X[4$U=8UD<]+9*);>)&W6[BAFTK;A2"?-V2#MZB_-=?21,' 4M(: MN:*"@\3UPCN+9LO4YKN$[Q0[M3<'6\E*B <;7)8++[2"D&&A+0,QPR-^0L8L MD9'Q:\OI#4=:X/Y\QW[A:C>UK(C"3X+=TU)7"V_J08EKTC)]([HON*UG9/D* MP93[0M?G)K$'1:NTJ+=@HZ"FO!_)T_8>]@#3\!5 O 7$3G=_D%-Y3C3)YU)T M(&VV8;,35ZI#&W&4VY]RJZ79I0:G\TO^B%P+^0SO[\B*H?HP#[3AM;M!L>58 M]ASQ*QQCN!)<5PH^\Q++/_&!T3.(BG>BEO%1PJ\M/X4D]"$.X^0(7S(4F3B^ MY+]%GE-5,*%:B?#C;*6T-*_BYZ&*>\+T,*%URDPUI,"%9ZR@4#ZBE[][$XW# MCT?DIH/<]!A[?FN<5[8,0:QAD'Y(Y%&:PR)W?!05$ WFIG&X:2"\A',LL%ZA MA"1RJS$4PEA0:2RM'ETAK 4S7J9\,_L+_R_VAG3FM6J4E##E S==YBUD_C0; M^=,P=?,PC/PTB^#>N/>$\I-&B@*5@LCMC"=C2+.I'R497%!.S4LO82-$:1,B MV5JN%'(W@/:X5Z+'KF-K?H)"[I1=YQX6/?-L:NQ"L%@/; MX@.:3\-:T2R866K>8:^Y[$%AL_2NHZN;U/H[AS\X[O0+&VPF&RD_V\FO]=(+ MK2 46!G+P&AXQ%L4PA*1C"\'3F\.:8$O[2/[>Y<[Y;)A&F^E^)/7IEUZI0#^-[.EP#B\ 9?@-0'P MQ$[W%,BI?,<,6RV4W(&RWL1F#9>J0Y,XWMNB/!A%NYQP9K565%]E]CZL!>L- ML+Z&NR\C'^C@#9S]SC8"]?DB,!3+(H+JP'LS\<;?X,WA7O:FU7#7UUB_Q@>D M<18:'X7>Q"<)/XS]!22A#W$8)R?XDCGQQ/$E_ROQOZXWVBBZ,G^_E?K$G+[- M;)_1E1Y8A4N/WHE&]8C>ZH?OHCS\^83N=-:=GF)?/4RO!V0#)U-X2_=IYF>Z M8:;#^428 2H!SB5PV^^PPFZ#"I+(K<9027JOVF!M!9H6H9&"'C[OMU=PIPVG M=T1[GS0VH_@7X7_)[GI4VSWH/1%V&B+X":(,]LB4AN\A]LLH].,D?F7?LZJE MQ.B$7NO/"%P?P-J7&T4M3 NT')1[22-/P(*>DH MRLMYS/PTR2A 1%9\&?I%41)8:^)F535VHW#G5R/=K(JSJ;&17M9)9?@_T\)9 MZH=E[.=E<@YG"667^&%6GM,Q17Z2Q7X2ETT!&X*&%T7F@9J:[#0QS6SLZ-RM? M5ZV^M>!63:/LTZ6NS?IBP ;;@[MJOO#A8#@Z7ZJY_J3]Y^6MQ=VP1YE6C6Y= M95JP>G8Q&+.SRS3H1X4_*[UV>VL(F4R,^1(V-].+ 0T!Z5J7/B H_'O05[JN M Q"&\76#.>A=!L/]]1;]0\P=(OK#O=3 R@7#EOFHTQ1M!4;?>O'C=UV#.0] 4#OC'@,>[.48SR6GDU M.K=F#39H(UI8Q%2C-097M>%2/GF+T@KM_.BF]:J=5Y-:P]@Y[1VH=@J_56I2 MU96OM(,__$);N%^H%GXV9KJNZAI.[A5:N-/SH<<8 M*PW/B[[/SQ%_QE\-&T M?N'@?3O5TV_MAQA[GP#?)G#)CP+^NFK?@J $..7B")[H"R(BGG@!K\\QU.%Y M=:XK5];&K:R&?\83YRVVU;^'RM!Y20Y[":-VYI:JU!<#G"6G[8,>C-Z\8AE] M=R2'I,\A.88^^H2C.UUAT&;V/(5#P1Z%.QSLV 5TK+[NJQ]+=JU+W4RP8P2+ MIQS6&A9J"MA&,#,ULD#5SD$U9M5B/:VNE=>; M:SK[+H3G[F^>P5X9YV%>+>>%7_D,ZM-=-5Z:'4*)E5 M990Y> UYGI,D2W%UDC%)\J0XQ35+<7H:"Z7+2F-O,GX DEE*(Z MRY*P.(4\BP<[09IU AD5X-ZJ*9(_?AB 9T2BRS>O)&?\W79[^/2F#34IM7-P M]T8URW?7*!&D$!F*G!0IAP_JP=A +U B4X3Y MZNX-!$*$JIV(/"%8^4Q9H&% MQR.!]D729_/]_VM(T _> 8:-5\9(GC*2<1HNC9.$(V!>Q'4J49#S3BM<+Y[R3AQP0Q>Q3':X!1-$TCS@YC0A(F//=?)83!9T M)*>$LQR.\$K:\TKZP[SR8>4#"7XS%N\?\:W@]"&&.0K\ L/,YU;/<1A@UOE2 M^[[,0Z0"#:U^]###3SL\:64[T@@\H=7,HXHZP%.5 ^U\U6R99Q*H84-.[@Q^ M-^U/_47<;0AJ=W6!0(X(.V[X&V.!<#$,)S.E25B%$8T+O!R.?1MU>)R( HFJ M2$F*O/+RZ'C8UTWSU+^M/^43?NWC([]>Y%^%'9>86$ M6NL9FM*W.3:1[5Y9W<:;97S93(S'.8_+!3Y,M0T**)\9X[>;X*!_ZH[^!U!+ M P04 " ".20I7+F+& PX$ !0"@ &0 'AL+W=O93NU#23IBK5HT"#)5@S#/M#2V1(J MB1I)Q^XYWL,3%SLNOLL"4<%]735RZ11*M:>>)[," M:R9/>(L-K6RXJ)FBJ=AZLA7(EYJNV-P5\E[N3>&'0F:\Z_Z\FG?.GXFA!6F"F-P.CO#B^PJC00T?BOQW2& MD-IQ?_R(_M'D3KFLF<0+7GTKF! M2=5X$[FRT46Y48)62_)3JR](*4GX]9:M*Y2_+3Q%H'K)RWJ Y-D/KO1PC& \%X#'UUT[5MA21T MQ2KXU-B#IA5[C153F(/B8),XQOQ_8)=[V.()N[(;1&N@"@19WD-M2XJZI$ % MP:$@L&,2F+:NZ#S+4[@A\WT%')C3(X0+)@MH69F;(*SF7:,DT!K17W)AL#[K&#-%@V'$ FG@U?P.6ES/2N 'GC,9P4?M&_$;DE@]R244E\[!3M,EP2 M^[JKK;+@@M=UJ?36'Q79*.+QX]&'J?LP=I>RIS#0D5H$-+R99*S)J"WK#O0R M<=(:B>% @RCPF0B_#E[]:?^;MAD"*F"2^.YTEM@7(011Z";IW$XC",* IOUJ M#-/4G04S.TL@B=R8Q'M;4#2VH0)#$,=NX/MPR_5QLBFU[,'F$[C^=.Z&R9PX M2.)4UFVGC/3(%:6"P$_)).V]W\)\&KG!+(*1FJ9#3=/1FIY9N;,FAR]/2G8- M$\1C%1W%.U[1G^DE/U4^3?,#9EBO:4^CP+5-XK"Q//=Y:?_U,-2Q!D"['/IN M.O=I1 TCIE81SP]=A]/_X-(G5PC=@$@Y041JT!I*9U,WF8VZ5;S93DP/B).Y M&TU#2$.23Q+VU7ZMWSSLZ4 SC *241P7^Q$\=;<&=9&ULM551;]LV$/XK!]4H6D"Q*$JVE-0V8*?= MUF%=@Z9K'X8]T-)9%B*)*DG']K_?D;(59W7\-L"PR.-]WWU''H^3K50/>HUH M8%=7C9YZ:V/:FR#0V1IKH8>RQ8965E+5PM!4%8%N%8K<@>HJX(R-@UJ4C3>; M.-N=FDWDQE1E@W<*]*:NA=HOL)+;J1=Z1\.7LE@;:PAFDU84>(_FK_9.T2SH M6?*RQD:7L@&%JZDW#V\6(^OO'+Z5N-4G8["9+*5\L)./^=1C5A!6F!G+(.CS MB+=859:(9/PX<'I]2 L\'1_9?W&Y4RY+H?%65M_+W*RG7NI!CBNQJ>;7'N0;;21]0%,"NJRZ;YB=]B'$T#*7@#P X [W5T@I_*] M,&(V47(+RGH3FQVX5!V:Q)6-/91[HVBU))R9W1N9/5PM**\<;F5-9ZV%VZXW M7\6R0OUV$A@*8YV#[$"YZ"CY"Y1C^"0;L];PH!]H+#M?[G7';Q_Y#=J,]N=''3[ZF=Y)L*0:[ %1U\;KOL[+TLS?ZH;!X?=JBR4B-\=Y>?Z/K!O"@4%L(@?-X8;423ETWAPWO,T*&CT(7D$/F< MQ3Z_3F# ADEX-0C9,(I@ .%P'$(RC!CL42A-EC3E/DMB^)7*P<8(^],9L[*?QZ"C)]I/_LH5^DJ;^=<)=9#:V'T*%A/J& MVAQ$XZZE)DX3(^&1S#]K8F/NC^+TN&T#B)*QG\0,SE5N<-(N:U2%>Q0T9'+3 MF*YS]M;^W9EW[?;)O7NT/@E5E%03%:X(2AM"%:NZAZ";&-FZYKN4AEJY&Z[I M[41E'6A]):4Y3FR _C6>_0M02P,$% @ CDD*5]? [/WJ P 4@L !D M !X;"]W;W)K&UL[5;;;MLX$/V5@5H4+6!8ENS$ M36H;B)NTVT4"I'':?5CL R6-+"(4J9)4G.S7[Y"2%:5UW*;/^V+Q,CPS9VZ> MV4;I&U,@6K@KA33SH+"V.@Y#DQ98,C-4%4JZR94NF:6M7H>FTL@R_Z@483P: M'88EXS)8S/S9I5[,5&T%EWBIP=1ER?3]$H7:S(,HV!Y<\75AW4&XF%5LC2NT M7ZI+3;NP0\EXB=)P)4%C/@].HN/E@9/W E\Y;DQO#8Y)HM2-VWS*YL'(&80" M4^L0&'UN\3T*X8#(C&\M9M"I= _[ZRWZ!\^=N"3,X'LE_N*9+>;!VP RS%DM M[)7:_($M'V]@JH3QO[!I94..?4S[E)A7*L3;P]TEBK*8L^6<7YP9RLAO25%F%[.]NGQ!XBZZX;-'J[@$6'#73:7$_ M_ [@>5[V+6RI.?<4XG:;]Q^Q_"1>K#IA;S' ML.S7]H6WWJO#;S6W]V#G"T\4DWOBQU[<$^S.^B: MW<%O-;L]76W@70NOSY4Q;YQ+1)TU7>>,:4EB._O>7C-^N>^UTPRE@H&T8'+= M).(V]FW.;0J>%L"TZW@EI:MQ//(V3Y^(M$M>UZ<,OX.R^4=%]X_Z1(\[;KS5 M1)%ZYBFF6":4(E1,3;6\A*/Q8#J9]+-W[7.RC=YC@,=J'JIROQI7M=/)X.CH MX#?4Q+WLVI5*86_.*5&O_31'?E>UM,W(TYUV ^-),R<]B#?3)A79VMDD,*>G MH^&4TD$W$URSL:KR4U.B+,U@?EG0T(O:"=!]KJCWM!NGH!NC%_\!4$L#!!0 M ( (Y)"E>-2L_>AP0 "8, 9 >&PO=V]R:W-H965TZ[6J86>NS2IWL#2+@5T;E1?!:54-:!RG@U5>UM%X&)X]FO%0;UQ5UNK1 M(+M9K7+S=J"H72^D*C5S'B&'GQ=UKZK* P&- M?UK,J OI'0_M'?J7D#OD,LVMNM?5GV7AEJ,HBU"AYOFF"*D&;R!7UEZ4B3.P6X*?&T_4 DKL++IZSJ>5LI^& P>P?G,P:R'N M&@AZ!B)%7W7MEA;]7!>JZ/L/@$['B>XXW=&+@+]MZFO$8HQH3-D%/-;ER (> MNYPC>E)K;5Q9+]!?MU/K#'3$WZ?2;=#X:30_)3=VG<_4*((QL,J\J&C\\0-) MX\\7N/*.*[^$/I[ U!6;2B$]1__E_5 W8PC]?(KX1>C3Q)^7"LUU!;/I\9WO M 11V?4^4^W!H^@8SZ'F$([:E!OO( 81;&J507A?(EJ]HU?2#\OV 0$W5J1F. M@$%OT*/1Q68&42; I)PIWS_*+-YV&S[HO380,G<*(PUA3'!750F#T+"Z(I_0 MLW9YA9X#@\-./(K\I%Y4O5'H1Z1>G3(U^#3SI8Q%/R"*.4]PR@C8#,N$8BF" MG<28)"E8'S]DE-#/8*58\ R+) -! &I7#--&V!U,4TPXZY97S?I3]Z AOO/J M4^ X)A(3PGL4.HA##K\8;2V(IN>E@XV,"DQ$ A;!F0 [IMZ&.A N>VE0G#&. M.4W10P'\RWD9M,VM58!)CR.%"&840YRL:9T C06P:8)EJ2O"<>2IIBQY#MH M\LZ(T/=4@7 $D$C2V+XK93,B'(*+HQ'A!.A(]LZ(0,\#WGY$POJ\)'T*!&J> MQFF/0@=QR.%($"DY3L,P$*\78(1Q8:"@[#<7Q2)F,);RC!R$8,H$SK(T:".D MQ#QK=,Y ISAHG@ ] )TL0@+L."\LLC\JX8*99<0G)I""!3@7EH"LD2G!T- M.O%LX(5&WAT1 8TM#T#5!0Q,>]UCL,7H\CA2AH)[$3+2Z^E<8 M"V6$%YA@<2\;&$G0C[+L.VCBOR<''YWR1+7.?8K*>E9M"OB,O>2FU!N+9CN< MEMHU.G4_&!SN=-[9IK7/>TNP3?-G>__?'F!OTU-XNRMJA2PD !D !X;"]W;W)K&ULC5;;CMLV$/T50BF"74"[NEJ^Q#9@;Y)V"Z0P-MOVH>@#+8UL(A2ID+2] MVZ_OD))5.;6-?;%YF3ESYG"&U/0@U3>]!3#DI>)"S[RM,?4D"'2^A8KJ>UF# MP)U2JHH:G*I-H&L%M'!.%0_B,,R"BC+AS:=N;:7F4[DSG E8*:)W5475ZQ*X M/,R\R#LN/+'-UMB%8#ZMZ0:^@OF]7BF2./%%#2'3=/\O +M/D,+%XNN7:_Y-#8#E*/Y#MM9-4Z M(X.*B>:?OK0Z]!Q&X06'N'6('>\FD&/YD1HZGRIY(,I:(YH=N%2=-Y)CPA[* M5Z-PEZ&?F2]@PS1YD,(H%(A049 GX-1 019:8U$L\N\[IIF3\.:9KCGHVVE@ M,+0%"/(VS+()$U\(DY$O&&*KR2=10''J'R#ECG=\Y+V,KP+^NA/W) E]$H=Q M<@4OZ71('%YR 6^YT[BBK135F@G:E(PXI\)?B[5V:OU]3HTB#VH,W?_\NRL(/5Y)(NR32:^CS_W$]1_ JQ'F"SUL@I>38P$QLB+%% MT'8Q^P%>:?:HN2,KAE'&(R+#KO*&C84^A$*-)[8LNZ16B$I7*-Z2WXBT3#T MPS!$L7*Y$QA600YL[U++,3HSA"$\HB?AB27F]NJLHBCRH^'(]0[* KAU*D+D MIVGLIUE,GJ6A_(=L3VTQ2:%+4#;OV,>2]K-D3!X+1&4E<_'.R7-&C4E3L3W# ME<(K7)E7G]2 MZ#?DPJ[IA'SP!+-T3#Z]Y+;#G?C:$+E'[J>'(A#L1_^;GZ4L#HSS6RR;81S[ MXW%$WM81;RI=64X(WF;0W6:H00[5&LDED5N)3ZZ?'HR/9X!BX2E>+$*L]"SU MD\$01^_?C>(H_G!=XW24^J-1VAFC<'Z<1MW\(A4NQ>;.@*JN=40\'/D1%L6; MJ"39P+7/T1ASP7-,_$'6S^;Z74IKCQ ;H MOK?F_P)02P,$% @ CDD*5Z@M]R:L!0 >2P !D !X;"]W;W)K&ULM9IK;]LV%(;_"N$-0P=DL2ZVY&2. =NZ%FE7-.N& M8=@'1J)MH;J5I.T&V(\?*2FRY2B,#9SE0RQ1/ \O>DD=\G"Z+^A7MB&$H^]9 MFK.[P8;S\G8X9-&&9)A=%R7)Q9-503/,Q2U=#UE)"8XKHRP=&IIF#3.?*&+;+,/T:4'28G\WT ?/"9^3]8;+A.%L6N(U>2#\2_F) MBKMA2XF3C.0L*7)$R>IN,-=O0]V2!E6./Q*R9T?72#;EL2B^RILPOAMHLD8D M)1&7""Q^=F1)TE221#V^-=!!6Z8T/+Y^IGM5XT5C'C$CRR+],XGYYFXP&:"8 MK/ VY9^+?4":!HTE+RI25OU'^R:O-D#1EO$B:XQ%#;(DKW_Q]Z8CC@P,XQ4# MHS$PSC4P&P/S7(-18S Z,=#-5PS&C<'XW!*LQL ZU\!N#.P3 _.U;ITT!I-S M2[AI#&XJ.=3OKWKY#N9X-J7%'E&96]#D1:6@REJ\\R278G_@5#Q-A!V?.81% M-"DKX14K]+AE(@-C".>Q%%'"9*H81HSD'%>Y?D'S.$[D)4Y1F-?C33YXYQ". MDY3]/!UR43/)'T9-+;RZ%L8KM3#1AR+G&X;8]S@7&>!/CJ#'S4M9F5&$,!<9] MJU%/2)](BF[WO2.U]0,IKY&I5970%97PW^B2;7X6)C@?T_8L8F0M)F+>@PO5 M.(=$ J>K>KBC([,=7F;%-5_A+I['TSSZMDU8-6S0W_LQ!&Y&U3CDN[(8/;3#[JE_=HG4$B8 PES(6$>),R'A 60L! (UM'R MJ-7R2$6?_;;/"=VPI$1)SHG@H5 L([H)JWH)N=-B;2= M$J-J2FS4AQ]3TJ<_)?52_4'"'$B8"PGS(&$^)"R8O!#]R-)'DY-/]\M<)Q-R M1X$WK0)OU-,>62=R7XG0]1-Z$#5-(L*J!4Z?[I2L2W4'"7,@82XDS(.$^9"P M !(6 L$Z(M:UPS:O!K\1U3"!Y Q*Z,K) M^?>"XQ2M<$+1#J=;(A?X49&S)":T#DIPBG.V(I3V^ZD-__BC(3>4+?/$C5_V M9+0L6S=.-CF?JV[8Q8+K*U4XC\:)]PA::@!*"Z%H72D9!RD9 M;RUOBJW<#CHXEL^N9L+8]A7Y&"\W%#3Y=ZH>9=D73WV0-!>4YH'2?%!: $H+ MH6A=O1X"2[IRKW^VQ&S3*TGSY0K1[I,D:& (E.:"TCQ0F@]*"T!I(12M*\E# M?$A7!XB.0T'U@ND*A7ETW2M3T 0*,T!I;F@- ^4YH/2 E!:"$7KBOD0,-+' M_\.""31M3L =,?2CW Z;K)&&PO=V]R:W-H965T27=OJ39;_FCUH7W^W:3Y'>CQZ+8W8S'^>)1;^/\ M7;K32?F;AS3;QD7Y,EN-\UVFX^6^T78S#B83,=[&ZV0TO]V_]RF;WZ9/Q6:= MZ$^9ES]MMW'VQWN]25_N1O[H]8W/Z]5C4;TQGM_NXI7^HHN?=Y^R\M7X1%FN MMSK)UVGB9?KA;O2]?Z.BL&JP5_RRUB_YV<]>-92O:?I;]>+#\FXTJ3Z1WNA% M42'B\K]G?:\WFXI4?H[_':&C4Y]5P_.?7^D_[ =?#N9KG.O[=//K>ED\WHVF M(V^I'^*G3?$Y??FG/@Z(5[Q%NLGW_WHO!ZT0(V_QE!?I]MBX_ 3;=7+X/_[] M>"#.&I0<=X/@V""H-V 7&H3'!F'7'MBQ >O: S\VV ]]?!C[_L#)N(CGMUGZ MXF65NJ15/^R/_KYU>;S62351OA19^=MUV:Z8?];/.GG2WG>>7.?Q:I7I5;R/ M8/K@O?[N&ZF+>+W)ORU5/W^1WC=__?9V7)2=5XCQXMC1^T-'P86.0N]CFA2/ MN:>2I5XZVDNZO2#:C\M!GT8>O([\?4 "__64O//"R=^]8!*$CL]SW[UYX!K. M=;VK-_=N'8SP- W"/2^\P+L<_/_\6$J]#X7>YO]U1?W 96YNE>9N\EV\T'>C M,H_E.GO6H_G?_N*+R3])-F97W 7'%X-!< M[)M7?QF>YR)BTXA/;\?/YX?7H6,^X[/0ULFFS@_\8,HC80N50QA.>3#SC= : M,3^-F),C_I2ERZ=%D;L&2[;L.^&0,(F$*1#,.OSB=/C%0-E ((.#A$DD3(%@ M5G"B4W"BZ[+!H3D_^U(&C'$1^K5LT-2%$W_B^[R6#9HZYO,R%T2U9-#4B1F; M\=F%7# ]C7=*CO=C>;9;Z"1.%MJKCN5ZH9UY@:3TG7I(F$3"% AFA6)V"L5L MH+PP0P8'"9-(F +!K.#X$W,J/[DN,QS;6U_Y6?GG.JJG!I=PPB?^K":4#F$T MF>BGB5<.A9, MHWJ2:.JFTU (7L\13=TLY%,VNY BC'_R:0/U(<@DB:A M-(6BV1$Q_L[G0Z4)J/^#TB24IE T.T3& _JDB^F0)J!F#TJ34)HZTBQ+55JE M2WG).#F?MG+4,@?=M/?11=(DE*90-#L(QE[ZTZ%2$=1R0FD22E,HFATB8SM] MTCAU2$6SCFL>#J%[T<,A=*]Z.(3DLD=@[%Q V[FN"Q\TIN\TA-(DE*90-#L@ MQFD&_D"9(H#:3RA-0FD*1;-#9.QG0'JG]DQQ;&]]KZMU#;^V8''O$(:^'XA) MS05)AS *6&68:IG"(11^P'TVN9 IC*,+:$?7:0F$9O2>@]"M.BA-H6AV-(S; M#-A0:0)J/Z$T":4I%,T.D;&? ;V_V)XF>+^XLNW )G747#N&%P@N7DJR\"(S9"FBSUD=#=/2A-H6AVB98QA.%DH*010BTBE":A-(6BV2$R%C&D-R-;D\:Q M??M*A4/H7JEP"-TK%0XAN5(1&M<5TJZ+3!DMV8-&]YZ:T&T_*$VA:':0SBH\ M!ROQQ-9X8HL\L56>0SC'T#C'\,I"SV/[#MFC*;R0/9K""]FC*:2SAS%C(6W& MVK)'UW50NIO>TQ2Z,PBE*13-#ICQDN%0Y:$AU%]":1)*4RB:'2+C+\,KBT3# M9K7FI)Y#6B6R7:)(B3TZ8\U"VIJU98Q.ZZ%T'[WG(G3W#DI3*)H=+6,HPZ&J M1D.HLX32))2F4#3[^A+C+-F5E:.L6;Y93Q?M$MDN4:3$'ITQ98PV96WIHG-Y M&-U/W_D(I4DH3:%H=L2,H61#59$RJ)V$TB24IE T.T3&3K(KJTCI]KTC 76- M4)IBS;K52SGK[)(_V@HZQ]ZZ#XBE*90-#M*QKJRH]3&_S':_W5. M'RVKLW0WO:1[B$CK/0QQ"]WF(0TA>G,N-2^2T2^R3 M53JMVM+]]9ZO4%<)I2D4S8Z<,:!\J"I6#G6?4)J$TA2*9H?H["8Y5U:Q\F8U M:?V$I%TBVR6*E-BC,\:-]ZU8O9PZ.J_@TGWVGIO0#4@H3:%H=O2, >5#%;AR MJ.6$TB24IE T.T3&-J M'8?.>;6.0T==K2.,611O**AMY(V6M5NZC][S$[H5"J4I%,V.EC&Y8JC*6@%U MLU":A-(4BF:'R+A9<65EK6B6M]:M4KM$MDL4*;%'9XR@>$,%K2M==%VXI?OK M/2^ANY-0FD+1[,B=W6AUL#NM8F^UBKW7*O9FJT,X66&W3&!(HWE-*Z4D[G0M3IW#M3AT3M<2-4ML*=<2&9\6O:'.UI5+.B_7 MTAWVG:Q0FH32%(IFA\X8SFBH@ML(ZC*A- FE*13-#I%QF=&5!;=T^]Z1@)I) M*$T=:8(X$1J?/1)G6V:@_;.(]_Q MOO1OU.%I1@9_>+C2QSA;K9/46'%T6ZVS^0YVM:%.EV M_^.CCIFK4_$]02P,$% @ CDD*5X?;9.[W @ M)0@ !D !X;"]W;W)K&ULK99=;]HP%(;_BI5- M4R=M) 1(H8-(4#:MDRHAJFX7TRZS4=H#MU\]V@LO6E%;:N [.>?U M\QY_,=UQ<2<+ (7V)65RYA5*51>^+],"2BQ[O *FWVRX*+'279'[LA* ,YM4 M4C\,@L@O,6%>/+7/5B*>\EI1PF ED*S+$HN?"Z!\-_/ZWN'!FN2%,@_\>%KA M'&Y W58KH7N^4\E("4P2SI" S [)$RT5C,-:]5F:SC"S*3<**'?$IVGXC5L@=6 WJ-YEA%3 M*$S1%6MFVY3M; D*$RK?3GVEQS-9?MIJ+QKM\ GM"%USI@J)/K(,LC_S?OSVA.W!%&%C=P3-%6$/*L-N/;.1+F2%4YAY>J=($%OPXC>O^E'PX03MT-$.3ZD[VH10 M"AE2!9&H D&X:6.%"IRA!,#L&6OGEPXB#&F2+>'U(59VV6H&CNS 9CMOXWXT M#,=3?]O!.W*\HY.\2]B $!I"M. /7%T,C=CHB"$:CH>#43=$Y""B9XIF3BC" MV%?ZR#(SR_4\ M'L\BWX+0U+#4RZ# 2CO_>2?W1T MER!R>T%)E/*:J>84=T_='3AOCOZ'\.8"O<8B)TPB"AN=&O3.]1X2S:74=!2O M[$60<*6O%=LL]#T.P@3H]QO.U:%C!G#_#.+?4$L#!!0 ( (Y)"E?43SUA M3P0 $83 9 >&PO=V]R:W-H965T8-0J" M&Q2=:M[61VZWH>J'TQB(-HDIK8#>_^^8R<$PGI#VLL7 MR,LSC\?/C&<<3P^4/?,M(0*]9&G.9\96B-W$-'FT)1GF=W1'.# M+\EF*^0#Q+:KC10B#\3&)3TB*8F$I,#PMR&;Z"8K'&1BB_T\#NI)C24?!%-N?I%APIK&2@JN*!990P> M9$E>_N.72H@S ^#1&SB5@7-I,'C#P*T,W*XC#"J#0=<1AI6!FKI9SET)%V"! MYU- )-+#)"Z6^L@:]DEPFRE(P>)N G9A_H)RC)\+0 \TR"-QRBQE!MV@) M&1D7*4%TC1[SB&8$W4CLNU?@]VB!>1(AG,$,.M$\=5?.X;?/>Y2&(9;ECG M:$FB@B4B(2#V2Y06H#=:,YK)1-D5 JN: )D48I8G^:;,N#+5_OH Q.A1D(S_ MKS/6ZI6"?>5@[;OVO[PLI%J@&-G MZ(Z]2U$Z$H;7"4M]S+-S@8RPC3J0X2BB12[*+[WZ:7WH+^S)@ZUY M'LA#(G4.<:(O3Y@^8K9)0,.4K&$HZVX$SK+RT*:\$72G3B565 B:J&PO=V]R:W-H965TX[/P;Z7M.'B1:X M%'JM2B8GSDJI^MIU9;Z"BL@K7@/3*PLN*J)T*):NK 60PH*JTO4QCMV*4.9D MJ9V[%UG*UZJD#.X%DNNJ(N+M%DK>3!S/V4X\T.5*F0DW2VNRA$=03_6]T)'; MLQ2T B8I9TC 8N+<>-?3V.3;A!\4&KDS1L;)G/,7$]P5$P<;05!"K@P#T:\- M3*$L#9&6\;OC=/HM#7!WO&7_8KUK+W,B8.$1@-\!_'\%!!T@L$9; M9=;6C"B2I8(W2)ALS68&]MM8M'9#F3G%1R7T*M4XE=VQ#3#%Q1LZFX$BM)3G MZ!(]/<[0V>W"*/7L@C;XH"@0EI;Q #-20W98CMARF MXC=9,DZB,0Y3=[/K9" /8R],O#[OG%/FL:_R2LLM:\!RD'%+8$D0[ M.WMZYW@4[RD\S N3L18 MEXP#G!S1%_?ZXI/ZMC>QPI?\Y($R"7E]PKK:!:6O]7RS[ M U!+ P04 " ".20I7'_J^L&T% "*)@ &0 'AL+W=OUZC MLD@RFHN$Y8#3Y73P&_PXQ^,RH!KQ9T*W8F\;E%8>&/M>[GQ=3 =^F1%-:2Q+ M":+^/=(Y3=-22>7QHQ8=--]9!NYOOZA_JS5%1_P;8>ZP] 7 C)LCI899 E^>X_>:H+L1< AT<"4!V M3@W =0"NC.XRJVQ=$4EF$\ZV@)>CE5JY4=6FBE9NDKR)BI.S6ZXZ M@LOG"W";DEP"DB_ YQ]%LE%3)<$'<+>;7L"6X&7HP9AW5U22)!7OU>C[NROP M[N?W$T^JU,HO\.(ZC4^[--"1-/XH\DN _0N ?(1;PN?V\"L:JW!8A2,SW%,% M::J"FJJ@2@^?596_K]5P\%723/S39G6G/6S7+L_+CV)#8CH=J!-/4/Y(![-? M?H*A_VN;<4=B1AEP4P9L4Y\9,TY?_%^ %6="M#G?R8657+F /,Z"(0Y\'TZ\ MQWU3+>/0V!^-HF:^PR7=HS?>:"J&ZD,1QD14ID72ASFA5ES@ANS5#V2 9 MXS+YMSK09F'W#<%>:A^&?H3""!]X:!F(HPC[P1$306,B.*OH.55_'JA:N2F( M62XD+W8K89*##6TVOF<4[YZ M!N)9E.=+6X+6^*ZGBR,QP^JHL3KJ<=48N2R#(S&C#%%3ALCMJA&]6@U0!-5U M !UT:/2J0P_'&?F.FWS''3H4_ =NDCS)BJPM5:M2UTER)&:8AKZ^\/L]=FLM M[J@2KM3,4NPQ$+1VP+V@RR(%:;*DZO+Q3 EO[=,W5& 5V6K/&GBN/0TST H) M+0U.GHXUN%VJ\[SV02]0XPO$?;:X%8XZE\*1FED*34;0CD:GMKA=!09'0^?V MT',-:FJ"=FRZ(?%:'>('EYU6DU:ESA/K2,WTK?$*AGWVN%/X)Q*[9 M^79*'RB&]NXK]7ICR>V=I3[@#&DX0_:;2Z)"=E;Z4O \ MD06GU20ODZ=RN]VB(W*J;??!84AS& KZ['"G:.9*S2R%1C-DO_75F4=J/8-' MQA$<^0-*:1I"]EI:\ZR32$I M!X(MY99PVNK.*5VY4C,=:[I"?=(5_ M#NIQP?%Q9L::E["=EUZUJ_UG@5VMZVRY4C.]:U+"?9(2=DI*KM3,4NP]A7-" M2F^HX..KLCWR7'^:E+"=E%K;_/@/ KM:Y[GM Y>PQB7<)RYAI[CD2LTLA<8E M;,>E4]OT6G3X+=*5FVM;, MA:,^.]PIC+E2,TNA80S;GS1V)Y#Q*P(9AN$H&A\2R)OC=AE[>R\*E6]IW1"^ M2G(!4KI4@?[E2*T ?/?BTVY'LDWU[M #DY)EU>::D@7EY0#U^9(Q^;)3OH[4 MO'XV^Q]02P,$% @ CDD*5YHW-L.= @ [ < !D !X;"]W;W)K&ULK55M3]LP$/XK5C9-(+'FM0&Z-!)M.FV3D"H0VX=I M']SDVE@D=K"=%O;K9SMIUK)058POB7V^YSG?B^^B#>/W(@>0Z+$LJ!A;N935 MR+9%FD.)Q8!50-7)DO$22[7E*UM4''!F0&5A>XX3VB4FU(HC(YOS.&*U+ B% M.4>B+DO,GR90L,W8 6W(.^J.5<[NV/)2 E4$$81A^78 MNG)'LT#K&X7O!#9B9XVT)PO&[O7F:S:V''TA*""5F@&KWQJF4!2:2%WCH>6T M.I,:N+O>LG\VOBM?%EC E!4_2";SL75AH0R6N"[D#=M\@=:?H>9+62',%VT: MW7!HH;06DI4M6-V@)+3YX\<;1#7VHI-+TST#5K%BU!=)[>2JU.B<#*>\&BCZX9E;E ,YI!UH-/#N/# WA;>=^%P-N&8.(=)/Q6TP'RG3/D.9[? M/^U9?WACGH9]8-;R0J MG,+84B4E@*_!BC^\4NRV1N1[:4GZ-(3'&*/]YZCS@TN&9?D M=R. 1S4^!/3EIJ$-#:V>'>O8#=USQXWL]6[4>]0\_\*]V%=+_E7SSB_=2W]? M;=:C-G1"U^G4FAC8.^VK!+XRJNO)DMS4:RRC3/!9.J%9MEKL8Q<*V@SI>, MR>U&&^@&?/P'4$L#!!0 ( (Y)"E&PO=V]R M:W-H965TQCVP,BT+402/8F.V_WZ4;(BFA(EURN=A]BR[ST^]XKD.:(TW?+BJ5PQ M)L#7+,W+B\E*B/4[QRGC%<[7+)??+'B142$/BZ53K@M&YW52ECK(=7TG MHTD^F4WKS^Z*V91O1)KD[*X Y2;+:/'M(TOY]F(")R\??$Z6*U%]X,RF:[ID M7YAX6-\5\LAI4>9)QO(RX3DHV.)B\@&^NR2X2J@C_DC8MMQ[#ZI2'CE_J@YN MYA<3MV+$4A:+"H+*EV=VR=*T0I(\_FE )^UO5HG[[U_0K^OB93&/M&27//TS MF8O5Q22<@#E;T$TJ/O/M+ZPIR*OP8IZ6]7^P;6+="8@WI>!9DRP99$F^>Z5? MFT;L)4 RD(":!/2]";A)J#OG[)C595U106?3@F]!445+M.I-W9LZ6U:3Y-5I M_"(*^6TB\\3L)A"@T0AT1W2ZRLF:)*6;\ 9>/AR!5[__&;J"$FZ M^FDG;@A^W!%$ P1_W>3G +MO 7(1-J1?CJ=?L5BFPSH=Z>F.;%7;+]3V"]5X M> #O.LD3P!&L*S\VU3K#IR8P:LI^ZY$1B@*(JFSO-^ M(?TXY(70#U ;IW$D+4C2.-]EF-TYIQ@N1_$NK)<3$> ?H[3$Y M@X$'?>1V*)L"O9"X06CF[+6/Z^A;D3)BH>CT&B""(@VYS^W%1%'@1,?/T M6Y[^*,^'?$&?>4$KHC'/12'78Y VR\8W$U^_S]>'\BR'';Z'XS3"04LXL#T8 M L,YCB .W:!#V1081$'D03/GL.4<_D"3!T=&V*,3N 3[L,.Z'Q;*11(&9LY1 MRSD:Y7Q7\/E&TKQDLK>+)*Z[:UP=1G&.70LM@6DE0U>)J'M*56C0+;7"%IK> MBSU# 7]<&1H,;8P& ?&]SA@]'*>S5#(.1]7Q_RP'#:(VS>7*%)#NBFL*E-H0 M^GB M1)=>*3J#JX!#= ^!ZE/ ?2[7 UQ$?+= >F%2GOAN/C>R9[F R=_-//H MX6X)3:]3Z37T3CKU1^W T;VPA*;W0GD".&X*OF_J]P4^#,,(=AW6X3B=I3(" MT+H3@ :%)QZ*(.F2-@6Z'B1#K)45@.->X(BIWQ=V@KTHZDU]0UR(@V"(JG( M<-P"7+%GEO*U[.L]BU^Z>P $A9 '12"X"L6@!;:'HOE 5 M%BP ZDL[(J[\ZPS3PW$ZR[TK>>L6 !F4'?K$0-H4Z/G#K)4%0+8L .I+>^ ; MJ/;#0C),5!D -&X KON7+C5A(U6KCL 6FEZX<@3HI(X 674$MM#T7BA'@"PX M M17>AR2_L7 X3B=I7($R+HC0 :AQP%!87=OP!R(W&A@;P I1X!L.0+45WKH MPJ"[\V(*0[*H :+*#Z!Q/W!_'_,ER_MSP^%,@78@BG ?;&'7@0QZDXK0^" 8F%E"+!U0X!-E_I^B'&7;C]NB.[>#KPM M)X!-FP&8D*A[^6(('**I? >]P'W!9VSC!9/YA-N5?EMH>FE*N7')U5^;%7Y M;:'IO5#*CRTH/S9M]H>]*]6#83I'I?O8NN[COIQW#?5HB,Y4:3VVI?6X+^+& MEAX*TXDJK!%X8"))DKM MB2VU)_W;Z3"(W-Y==U-<==.RN_7O[#U=4CW:\QLMEDE>@I0M9*)['LABB]W3 M,KL#P=?U R>/7 B>U6]73)J H@J0WR\X%R\'U3,L[3-+L_\ 4$L#!!0 ( M (Y)"E>X7]6(1@, )8* 9 >&PO=V]R:W-H965TFOTRY MJ+#24S%SY5P +BRHHF[@>8E;8<*<=KD0ZX M%"8,K@>2BJK#X=0:4KX:. M[ZP7KLFL5&;!30=S/(,;4)_G5T+/W):E(!4P23A# J9#9^2?CA-C;PV^$%C) MC3$RD4PX_V$FE\70\Q M3+"$$'5-5^]@2:>V/#EG$K[1*O&UG-0OI"*5PU8[Z B MK'[CVT:'#8#FZ08$#2#8!43W ,(&$#[40]0 HH=ZB!N #=VM8[?"95CA="#X M"@ECK=G,P*IOT5HOPDR=W"BAOQ*-4^DE4YC-R(0"&DD)2B+,"O2.X FA1!&0 MZ*,J0:!/)6;H@O-B12A%SS-0F%#Y AVASS<9>O[TQCN&U,T;UV>UZ^ > MUR%ZSYDJ)1JS HH.?'88GQS NUJ&5HM@K<59<)#P[8(=H]![B0(O"#OV<_YP M>- 5SO]Y'_^S]RTQPK8P0LL7WL/7YMK4PWZ59$3FE,N% /1M-)%*Z#_^>U<- MU%ZB;B_F%#R5?1-MFXPXSSXM._-9L*_RX#3\^&/X'?9OF @JBD.(HYU(9$22F^O#2 M%RG"._+D^M0PY:JO.8H5%/MZV9JG=V=@EW[QOC!1W(MWY-NW2H)^W-N1K[:* MMW(1QUY_1[X.LS ,^V&W?$DK7W)0O@O=3""MC *A[Y=6I06;XB47V*C2*K;6 MY%>7(@?=_.V?_IAD6;*7!6]'VGV+HYX?;J2SEM;=N&@K$#/;X4BMSX*I^FAM M5]LF:F1[AYWU,__TW.]8SW335?=(=_1UQ_8>BQEA$E&8:E?><4_7@:B[H'JB M^-Q>\Q.N=--@AZ5N'$$8 _U]RKE:3XR#MA5-_P!02P,$% @ CDD*5V20 ME+7,!0 "D !D !X;"]W;W)K&ULM9IK;]LV M%(;_"N$-0PLLD4A*EI4Y!I)H[3JL6Y"T&X9A'QB;CH7*HB?1<3OLQX^Z6#(E MAK&*XR^)=3DOR5>'1X\D3G/D\Q5?L_Q<;'BJ MCBQ%MF92;6:/3K[).%N40>O$(:X[=M8L3D>S:;GO-IM-Q58F<L03/I>%!%/_GO@-3Y)"2?7C MGUITU+19!![^WJN_*0>O!O/ M7"1Y^1?MZG/=$9IO0.H!T [QG F@=0(\- M\.J TFJG&DKI0\0DFTTSL4-9<;92*WZ49I;1:OAQ6ESW>YFIH[&*D[-WJ63I M8_R0<'25YUSFB*4+]$O,'N(DEC'/T6]RQ3/T8<52]%:(Q2Y.$G2&WFSE-E,Q M:Y')^%]67D.Q1#=EC]7Y-R*5F;JH.7H5<1^C5MZ^GCE1=+SK@ MS.MN7E?=),]T*\%5CGY,%WRAQSMJR,VXR7[&\,@>'O&Y"L>F<&TTM+F*M-2CS^C]*M*S>>TXNN,)DWR!VDN;H[^N M'O+RZ-\F[RMQSRQ>5)Z+?,/F_'*D2DO.LR<^FGWW#1Z[/YB,@Q2+@,0T4[W& M5,^F/OL@)$M,=E5AXS*LJ*M/,^(13(-PZCP=.F&5'^I$O]$P#/S0:]K4QN@W M8_2MB;.?IF?9X*3Q(9,&4BP"$M,,'3>&CJU)\U;=:I&JA9)GJEHW=7&;+MF3 MR%A19YN)FM15]HO)WJH9_^!ZNYWT&O6'.@$DICF!W18!W9>]\(U0YO;,(($7XNZ=SM[ 4#>@ MU'0[#H@8G^J>6"L#3390M0A*37>5M*Z2EY,,&TTCO23#84""[HRS-S#8#B U MW8X6V+$572L[3$\.UW6@/N=\[X#T:CM 01M*3;>C16UL9^W2#M-SV'4=J-5C M'-*P5X) :1M*3;>CI7)L9=39!_7(S=E20:31$K^?(1,?DUZ&@%(UE)IN2@-F..CC.)Y0W^W5.E >AU+3 M7TVV0$Z. '(C') ^D.,@#'NUSM[ 4#N@U'0[6B G5C2UP$$=J-LQ=DD7#NP- M#+;C%"1-6I(F1Y"T\=&5&$@Z(![NDK2]@<%VG(*D24O2Y B2-CZ]DCY)8]=U MO9X=H"0-I:;;T9(T>>&MM14=29^FO8D[[CD""M-0:KHC+4R3%V#Z.7(D?8Z> M^&$XZ54/4(Z&4M/=:#F:V#G:\(5N."3:VQB*,J!J$92:[F\+YB0XU=LC HK> MH&H1E)KN:HO>Q J@%D"L [4B3X.@RX=V_<%NG *728O+Y A<-O-A'Y=#WP]Z M> A*RU!J^J?OEI;I$;1LQ$-JH&6/TJ#[)P.!OUJ>@9=K2,CV"EHUX2 VT M//:]L&<'*"U#J>EVM+1,CZ!E(QY2$RU[DP!W[0"E92@UW8Z#A2)V6K;C(36\ M>U;3Q1]W+8%=Y'$*8J8M,=.O7.=!^VLN)M3%E';= *5E*+7*#>=@:9BBOL=R MB5V.YF*;RFJU5+.W6<9W52Y>Z^R_QA98]QFJ.$+Y6D>QZH M],FJY7;5AA2;<@':@Y */70LC]1M% L^AQ]C]02P,$% M @ CDD*5^\V-)7X @ F @ !D !X;"]W;W)K&ULK99M;],P$,>_BA40VB2TI,F:CM%&Z@.,(8U5JP8O$"_$YVVGHMC:"B;QH;$E?3LVE4E?5)JS J:2J"K/J7P8 M 1>;@=?QM@,W;+G29L!/^B5=P@ST;3F5V/,;E8SE4"@F"B)A,?"&G?-QS\RW M$[XRV*B=-C$D22#!:VXOA&;3U#S=(U>*KBROV3CYL:Q1])*:9'7 MQAA!S@KW3^_K/.P81.$!@[ V")\8A(<,HMH@LJ N,HLUH9HF?2DV1)K9J&8: M-C?6&FE8859QIB6^96BGDQGE0,2"?"A +A_(5(JL2EFQ)$.E0"M"BXQ<")%M M&.?D,B\ID[B&FAQ-0%/&U7'?UQB&$?/3VN7(N0P/N(S(E2CT2J'/#++']CZ& MWS"$6X91V"IX1>4)B3IO21B$'7([FY"CU\=$,0U$(=Z>",?M@I^K @4#*QAM M!5L"C9ID1U8W.J [82I%=%94D)'K$B0UI>R2C.]*@>&2"RFJ4I'OP[G2$JO\ MQ[X,.S^G^_V8G7^N2IK"P,.MK4"NP4O>O.K$P?M]R?A/8H]2*95.*U)7BKT.K.7(NNM:%.;;62=CWU[N(K4&\$+';(';_ M$O$9F:E1193@F:'#SCZZ[C.ZLR=TK?Y?2!.YG@(>R]D^ M#J<3[W#T OL\H6GU]T*:7D/3:Z6YGG.V="@5GD[R\9+9<;.#S;Y4^QA;U?]U M7_:>)2S$YUV3+D?H[QS^.09K[T2%85:%=O= ,]I@ZVA1VJMD+C1>3+:YPD\'D&8"OE\(H;<=XZ#Y&$E^ U!+ M P04 " ".20I7BS%RL\H% #>+ &0 'AL+W=O]$ \7E\G/<--B>>/3'^76PHE>@Y33)Q/=A( MN;T:#D6TH2D1%VQ+,_7.BO&42'7*UT.QY90L=5":#&W+N%+O-[(_,)P/MN2-;VG\NOVCJNS8459 MQBG-1,PRQ.GJ>O 17X6V#M M_HSID]@[1OE0'AC[GI]\6EX/K#PCFM!(Y@BB M7A[I@B9)3E)Y_"BA@ZK//'#_^)4>Z,&KP3P0019Z,!V@)5V172*_ ML*??:3D@)^=%+!'Z/WHJVUH#%.V$9&D9K#)(XZQX)<_E![$78-M' NPRP&X' MN$<"1F7 J!W@' D8EP'C4WMPR@#GU![<,L!M!>#ID8!)&3#18A6?KI;&(Y+, M9YP](9ZW5K3\0.NKHY4B<99;\5YR]6ZLXN3\,U4Z"O3!HY+$B?AU-I2*FK\W MC$K"HB#81P@C=,LRN1'(SY9TV1'OF^-=0_Q0C:8:DOTZI!O;"/R#9!?(PF?( MMNPQ^GKOH0\_=X[K#,6@E?_D)3Z:_=?"\TWFV(2T?.*T )JW0 MC+DE7&%PF59W.@TU1Y5!1QH\.FI0(2@]0]JH9\BC(N+Q5M_&_OJLVJ)/DJ;B M[XZ,;PKPN!NQ.QWCV?!Q7_2N9A9VG&8S M_[#9V'(=QVTV"[J:3:S)N-DL!!IH0P*GDL Q2K @8H.V)%XBM61")&6[3 H4 M9U&R4W=Z=8#DAJ)4";7C5"UO)&(KI!99G,@X6Z-$*YC$Y"%.8AE3T26D,8.^ M0D+"/$B87\"_#5MUH^>+-%")10 MPP*3R@(3HP6^Z><#NCPGCTI>);7Z]BO]:YDEY2DZ;ZO?*;FQI[Z2F],>H1=* MN$!3E!8+5FRC)7GI2LL#(_E@I ",% )]Z WS3"OS3/N99QF+*)]9D/(*[7 - M^J N1&IVZ5K5WA@[Z^N? G:Y_[6[L%H3MW=*(_^41L$IC4*@ 3:TNJRTNC1J M=?]C1[BZD^J*''ZWDAP&KE!:"T$(K6U+XN M"6)S3?#-5:5S6"4=3P_5!RW5@=)\4%H 2@NA:$WUZ]H?-A?_;N,L3G?=2TK0 MXATHS0.E^:"T )060M&:_J@+@WCR;BL+T$H@*,T#I?F@M "4%D+1FOZI:X/8 M7!PL5A9QNN7LL?A%*5]E=!:.S:3>?H&D>: TOZ3M3ZG8TG_M @9DMR$4K6F% MNO2(S;7'6_)\=*H!+3*"TCQ0F@]*"T!I(12MN4>H+F_:UGM--39HY1.4YH'2 M?%!: $H+H6A-_]0%4ON4 NE)4XV9U-LOD#0/E.:7M,948SL=4PUHMR$4K;#" M<&\W94KY6F^4%4C_R%CL6ZNN5IMQ/^HMJ*WK"WSEX8[K/KX*BJVV-;[8^7M+ M^#K.!$KH2G5E74S4XQHO-M,6)Y)M]5[.!R8E2_7AAI(EY7D#]?Z*,?EZDG=0 M;6F>_PM02P,$% @ CDD*5RV"V1[Z @ C@D !D !X;"]W;W)K&ULM59=;],P%/TK5D!H2&7Y3M/11MJZ38 &5"N#AXD' M-[UMK3EVL-UV^_?83A:U:UHA*"^)'=]S?,ZUG>O^FHL'N0!0Z+&@3 ZO*? $%EJ>\!*9'9EP46.FNF+NR%("G%E10-_"\Q"TP84[6M]]&(NOSI:*$ MP4@@N2P*+)XN@/+UP/&=YP^W9+Y0YH.;]4L\AS&HNW(D=,]M6*:D "8)9TC M;."<^V?#U,3;@.\$UG*CC8R3">^+'.PP8@"O8 @AH0_"D@K &A-5HIL[8NL<)97_ U M$B9:LYF&S8U%:S>$F54<*Z%'B<:I[ 9T#B1ZA\ZE!"419E-T0_"$4*((R ZZ M 3T Z.02%"94OM6A=^-+=/+Z;=]56H"A'X9>0:[AOX<$VW-6V&^]!XSVP?.%A[_?G$ZF$WD\_VQQ5%%$[A3EC9[+$ M.0P[S6]%DE@2 M\PM89;W 2WI>WUUM.MD-\X,HCJ->$[!RNK;RE3=[2(^S"XZ;NL*(6NPSLM+485')A!MHR^5^H MJ\2Z&]72W%0^8S$G3"(*,SV9=]K5)TU4U;_J*%[: CKA2I=CVUSH"Q,($Z#' M9YRKYXZIR&PO M=V]R:W-H965T\1(*_6;.14Z5KHJ%*TL!=&9%>>9Z&$=N3EGAI /; M=B/2 :]4Q@JX$4A6>4[%TP5D?#UTB//<<,L62V4:W'10T@7<@;HO;X2NN8W+ MC.502,8+)& ^=,Y)?T2LP/;XQF MM\K(1)EP_F JGV=#!QLBR&"JC 75CQ6, M(,N,D^;XO3%UFC&-<+O\['YIP^LP$RIAQ+/O;*:60R=QT SFM,K4+5]_@DV@ MT/A->2;M+UK7?2//0=-**IYOQ)H@9T7]I(^;B=@2D. 5@;<1>/\J\#<"WP:M MR6RL,54T'0B^1L+TUFZF8.?&JG4:5IAEO%-"OV5:I](KT',@T0=T6:E* +IF M!-271R1@499D\U9WO[\;HY.WIP%4:P1BYT\UP%_5PWBO# M?:F*,^3C]\C#GM\B'W7+QS#5?S%ZD]9NT?I=[^@.H0*0M M8JV+K,YL_%4:ACA.PH&[VH;OM#\2/FC@@\/P7AM\K0NWX(GOA5%O![[3_DCX ML($/#\.W?>\7X3Z\1\)H=^8[[8^$CQKXZ#!\T 8?[<''44*2'?9.]R/9XX8] M/LP>MK''>^RA'Y@_E1?LG>Y'LB<->]+)_G4)^F">*Q!M_,G^AQ,$!..= )U# M'!F@UP3H=0?@BF8HLR=)29_L,=(6I;Y,7IY6?[!T'O=@GB;_+ MO]^/^(3@@#0=:S1WZWYB+H?75"Q8(?6G,==*?!;KJ1+U?:NN*%[:*\N$*WT! MLL6EOJ.",!WT^SGGZKEB;D'-K3?] U!+ P04 " ".20I7B4;P190& !Y M. &0 'AL+W=OWFTP5+:7[)ERQ3G\RX2*E4 M;\6\FR\%HU$1E"9=[#B#;DKCK#.^+K8]B/$U7\DDSMB#0/DJ3:EXOF,)W]QT MW,[+AO?Q?"'UAN[X>DGG[)')#\L'H=YUMY0H3EF6QSQ#@LUN.K?N%<$C'5", M^"-FFWSG-=*'\L3Y)_WF/KKI.'J/6,*F4B.H^K=F$Y8DFJ3VXW,%[6QSZL#= MUR]T4AR\.I@GFK,)3S[&D5S<=/P.BMB,KA+YGF]^9M4!>9HWY4E>_$6;%>"=&C"H @;%W)>35ZLAZE4)_& M*DZ.'R6??GISI[2)T(2GJF!S6DC^!AW]Z")@DL9)_DH-^O 8H(OO7UUWI=H9 MC>Q.J\1W96)\)'$/O>697.0HS"(6-<0']OB!);ZK)F$[$_AE)NZP%?C+*KM$ M/>S/Y/1PW'0XWY8]_+;LY(1P9]04;LQE;UM5O8+7.U95"RK8FZ?# MTKD5@F9SIEJ31$_/:'?< WTN-M]NJ(C0G[\J)+J7+,W_:BJN,G^_.;]NQU?Y MDD[934?UVYR)->N,?_C.'3@_-BD+"0L@82$DC #!C(KH;RNB;Z./&Y6NB^$U M>L>S*C7,<; M]8;FL+!AF.\-',<<1JS'_A]GUMO.K&>=64)C@=8T63'$9X@O]7F6-TV?%=/V ME(&$!=[!+ ^PMS_)(61* @0S%!ML%1M8%?M8+'?4B4#73*CE&YJK\T"BB$J& M9K6:%W&&(IXD5.1HR=1J4)]"C5=::[JVRD+"@A+F[RCK7'I[ND(F)$ P0]?A M5M?A-_ZEN[>8L:9KJ]D)"4/(A 0(9DCA M.O6=K6-OQ_K^%?UV?$%DCV][>H'2 E!:"$HC4#13UQW'PCUSVZUV *HP(&D! M*"T$I1$HFED8N"X,;#WAC6*8\ERBC$OTS"02;,KG6?PWBUXCFO)5)AMEQP?W M(7W/Z_?W%JP3^VZT%O2TK"%H5@)%,Z6J_2'7:C:<*)6Z?L8\0C,N7C;K\8W2 M@?I!H+3@*U.!U6'KQ8+KHK1T-/% W0L^-UVR0M ](U TLPAJ2\BU>T+J=NCS MBB;Q+%8=NKI.HW^:^W:+VRA[UM:U $D+0&DA*(U T]O M@F8E4#13M-H*<^U>F/XBJ?P&$=UG4W6.QFN&'A+:?/4&=;Y :0$H+02E$2B: MJ7%M?[GG]K]<4 ,,E!: TD)0&H&BF851NV"NW09[MTJ?F-!?1Y4M6ZW>]8]< MXFR.Z)K&"7U*6+&JGZWD2C 4Y_F*JB[16 *C@^[9ZP\/V^?$OD^MU3TQ;0B: MED#1S%] U)89MEMF1[NV6I8WK=:;!+.G:'O.@M("4%H(2B-0-%/ZVE7#YW;5 M,*BK!DH+0&DA*(U TI*HB\Z ]5JNC4/F[/TEI] M4 L.E!:"TDA%,RY$ON/L7HA,86L/#MN-I]^UI<8:%^3VR-9B@=IIH+00E$:@ M:*:BM:&&^^?NX:#>&B@M *6%H#0"13,+H_;6L/TW8J=8*'9$:VE!W;&*]E4+ M!30K@:*9HM6^%[;[7E5_5DOO6W6&1OI<+5?B7_UBVPYN+26H&P9*"T%I!(IF M"EY[9GAX[O8-:K2!T@)06@A*(U TLS!JHPU;_1JP);C?L)3L^4-OWTJQ[TYK M84],&X*F)5 T4[/: \/_GP>&#\THU_=[^S]JG]AWJ;5NIV4-0;,2*%HI6W?G MR:B4B7GQ#%NN3J-5)LO'6;9;M\_)W19/A^UMOW.O)F[#]L"]"LNGX&I\^5#> M6RKF<9:CA,U4*N=RJ"92E,^YE6\D7Q;/93UQ*7E:O%PP&C&A!ZC/9YS+ESLG&=%3@8 -TK 9 >&PO=V]R:W-H M965T"\"/Z(/#/%]&!+V>D>#^'#;,WO''8_^9BO4CL%\MB,;^D3%Y]T# MDUN#G.+Y(8VX'T>(T?5M;V'>.'BJ I(SOOCTP$N_D;J551Q_5QL?O=N>H:Z( M!M05"D'DOV>ZI$&@2/(Z?F307IY3!99_'^F_)35),'G4EW%B_B1B]_O5G93:0\LXE.V/DZ2"5R@YA#[MDLV% M*J@O7M&%307Q _Y!GO$W=>,-5>=^?K+1Q<\?9@,AKTF1!VZ6_R[-C]_(/T3W M<22V'#F11[V6>%L?/]'$#Z06N2#X*,@=U@+O">NCH7F)L(&'+=>S[!YNMMV. M/OS/?23#C3>S._IPF[IY=JP18YBWCF'"&^I:1]8$./JT%UR0R/.C#?KV& ?W]&-'T6J'!=\2R2_]0%,&>.$H=X;S_,A-D;XVIH-GLL::W.= MJW''I Y0THI\XUR^L5:^WQF)A.SW=.)I">>V8DB8/6XH;.*Q81@U@8%R5@2> MY )/M ([+Y2Y/C\AL99QKL20,'O2D+BN+E"ZBKI6KJZE57=)(E<.N#PDNV0D MAXQKZI]JS5K@N5)#PFRK(?75"#=;,U#.BM[37.^IOC6G;SZ=OEK N?I"PNQI M2W\\M9K],5#2BL#7N<#77;H+L@JH5F4MY5R5(6'V=;-/MJ;3:PO75 9*6E'9 M-(HAOZ'5^0OE(NLVZ,M..C:Y(6+T+'=K===CSQ4>E&9GM$H#-R9X/)K6I(=* M6]6^9+=,[8CZ^$I$#\QWY5_*T)-2''U;K+A@TC>W#J8S*I3TD#0;E.9 T:KU MP45]<*F_8E)DTW+(XB^9=8&WOI+.KL< M77(Z4#FK,A>^TM3ZHLXRDY=49D^Z3<(X.B%WFM0TRQVPT1\.ZX*#VLF.61VH MK%7)"Z]HCK0]S]?DFYGLZA?/E)$-1;4:G';T)J1#7(+2;%": T6KEJKPI:;> MF)9\_9Y[IQK]N/&\F_U)HX\!]9X9K=KD&TD=J*15&0OW:>KM9^[O.X@(:D)! M:79&JXEM-L1^#R]J%F;4_&]NM(/VH*X4E&9GM(KVN'_=&%2^AR\U"V-J=G.F M';0&=:B@-#NCU=KYN.Y0H9)6M2X\JGF&2>T@.*A9!:79&:W6N(U)7?#W<*NX M<*OX?[C5TP70T\\M "C-SFCZ5[<#E;.J?^%8L=9Q-<>-CU1-0*L.YR]_35LU M!W6K)Z[/0J]468,A"M.90'.*//+*6P7OA&J==WL/6XH+6XJQ?B).M>^K57.: M=L'D(&=#0QH)M'I%Y?,>R&NR>Z$&])?(^;%7\[5M?#&6#^16GJIGRLKJ"<&I=FX.0F+C8G9E/4]W"XNW"[6NUW-"_[<8H#. MUH+2[(Q6;KM#:V*-ZC-<4%FKQ2@\,]9[YNS#9JNZH!X9E&:#TAPH6K4&A97& MUGO,$6!0'PU*LT%I#A2M6I_";N,3=OM8GUU2G]Q_7*+\BU.W[]7Z/&=7#-2- M9[2J-VE8$U O/B@M8PPIVR3K1SERXWTDT@5\^=Y\C>HB69E9VW]GWBS3E:8% M)EWX>D_81KY$4$#7$FGT+=G;LG0M:;HAXEVR6'(5"Q&'R<\M)1YEZ@1Y?!W' MXKBA$N0K>N?_ E!+ P04 " ".20I7<&"!32@' #G30 &0 'AL+W=O MEKP#>)/\YY*.J\TK%>TSI] MR/(O\E8(1;XMDE2>]6Z5NCOI]^7L5BPB>9C=B52_#<7\1Q6EO>EJ^=IE/3[.E2N)47.9$+A>+*/]^+I+LX:SG]1Y?^!#? MW*KBA?[T]"ZZ$1^%^G1WF>MG_35E'B]$*N,L);FX/NN]\4Y"?UPDE!&?8_$@ M-QZ38BI76?:E>/)V?M8;%%LD$C%3!2+2_^[%A4B2@J2WXVL%[:W'+!(W'S_2 M>3EY/9FK2(J++/DKGJO;L]Y1C\S%=;1,U(?LX7=136A4\&99(LN_Y*&*'?3( M;"E5MJB2]18LXG3U/_I6[8B-!,VQ)] J@6XG#)])\*L$O^T(PRIAV':$494P M:ILPKA+&;1,F5<*D+-9J[Y:E"2(534_S[('D1;2F%0_*^I;9NB)Q6DCQH\KU MN['.4U,>Q3GY'"5+0=Z+2"YSH76F)'E--MXI)$,^B-DRS^/TAIQ',I;D52!4 M%"?R5QW[Z6- 7OW\ZVE?Z4TJP/U9-?SY:GCZS/ ^>9^EZE82EL[%W)(?N//' MCOR^WA7K_4$?]\*K&0_]B4NMJ:H7UKBI9P(N^BF3CKZ7.^%/F]Z$U_^2%6<%8DL%%4JSZ:?U0#CG_?M-83R-&I@102L.:Q7% MG9/N6A\0S*C/:%V?D;,^FR>#S49U4!_WMIHXH5V/:20L0,(8$L:1L! $,S0S M7FMFO%<-9(P4&Q(6(&$,">-(6 B"&6*;K,4VV74#<0[053](6+""C1I:4JLH MCMRP$ 0S*GZTKOC1C[8D\A]Y)^Y%0CQ;O9WXKO5&P@(DC"%A' D+03!#/<=K M]1SO57,Z1HH-"0N0,(:$<20L!,$,L7F#VN89.$]6*XD=;+HZ02QGNDEIA5E] MF\&3L_G6A7V?Y:QDE@HBORUA];[BPJ;";IWC/]^C0VVXHEC@==DRWNTH['FO)XU7< MIIEVK"]=AF98: G3US?'HW68N5MKZ]%[B?=HW9%(/^\"2@LJ6M-%8KLP#MVV M$$4S"UQ[EY[;O.S^X6O4\H"QQ%D/F'8\UI+'W?/M7)U=F(1>[1)Z3E^HTPZY=:[$+LP\KW;S/*=_,V52Q8M("9)= M$_N:&MU#7O@EIGOHSHZO!!:0Q*XU!:B**9DJH=/KI? M:RXI=-$EE!9 :0Q*XU!:B**9HJO]3[KSM9?N$3KK"&J,TG;&:+LP#MVV$$4S M*U\;H]1MC+Z\@[E7UKB'[2P'Z,)/*(U!:1Q*"U$T4URUKTOW:_DGA=K 4%H MI3$HC4-I(8IFBJZV@:E[&>A+OR*E3Q=/;AMSS2%!7,M>:PEC[NGW?G'A+MP3OW: M.?7=SBF@[5C7&KB'[?PK5>CB3RB-06D<2@M1-%-;VE4US2- H^4#,72@N@- :E<2@M M1-%,T=5FKN]>I/OB[K/";J[9MU_T6.*L%SWM>*PEC[NGW;E(4/.SOW%;J87( M;\H[ADDRRY:I6MW&9_WJ^JYD;\I[<6V]?NZ=7'B6UP/OA*WN.5;C5[= >Q_E M-W$J22*N]5"#PXE67[ZZJ]CJBYCV8)(+6'5L9CO0[=?O.H$4:$H[B8>]@#_N.3[WV+%O;RG5HYX!&/*4!,Q.I4FJPJZ:NGBN@20Y*N>M[7MM-*1-.U,O'1BKJ MR< #@Z7>:!.;R5C*1]NY2OJ.9P4!A]A8!HI_"Q@"YY8( M9?Q:<3KEDA:XV5ZS7^:Y8RYCJF$H^7>6F%G?Z3HD@0G-N+F5RR^PRJ=E^6+) M=?Y+EJM8SR%QIHU,5V!4D#)1_-.GE0\; .2I!O@K@+\+:+X""%: ($^T4):G M=4X-C7I*+HFRTV\#5R"W&F%!-3C%H3G)#[ MNW-R]/&XYQK4;A6X\4KGH-#IOZ*S36ZD,#--+D0"R3;>Q9S+Q/UUX@-_+^'7 M3-1)X-6([_E!A9[A^^'^'CE!N0]!SA>\N0^UM<]4).2:T3'CS##0:W\3@J?_ MV5T;]4T*50X,J&::_+C&!)2Z\J/H.!I;2R/&L/. MCLBWHK9$MDN1[7<;"2)YQ<7VBZ4;0<-O-G845H1A5.A72^R4$CM[)5YD2FIF M@(SD$E2-7(FX7B5R+\N_'NX#D6TEW"T3[OY7MT+WD,8=B&S+N+ T+CS 80Y? M?.R5A[DBK.HPNQNO< IJFAO4.?F&J*%2*CI'S_*T?2X.50]Z<86T'R@;@_$1*L^[8!&PO=V]R:W-H965T MSG33J(*T D8O$'^=][FWN[ 4#R((6R$[I!K,91 M9,L-2&9[N@+E9E;:2(:N:]:1K0RP91!)$25Q/(HDXXKF61B;F3S36Q1!=-3.N%[4N2RY!6:X5,;":T,O^ MN!CX^!#PE'K6))UEH?>\[U\L)C?V&0$")WH&YSPX*$,(;N6W\;#QINZ07 M'KFG,X$B3)"4'2")(_%:2-( V@] 9 >&PO=V]R:W-H965T MT;I^J>J?FP=C MVNB7]:IL;B8/;?MX-9TV\P>S+IIWU:,I[6_NJGI=M/9E?3]M'FM3+#:#UJLI MC>-DNBZ6Y61VO7GO5JOB_K7#V95O=Q,R.3UC2_+^X>V M>V,ZNWXL[LU7T_[T^+FVKZ9[RF*Y-F6SK,JH-GMEJ M$WO$^5/35NO=8/MZO2RW_Q>_[ )Q,(#2-P;0W0!ZZ@"V&\"\ 2Q^8P#?#>"G M'D'L!HA3!R2[ WLJ[FWYTG;1#](TQ;+5?/'ZVEKN=UOI_,=X\.60=]@L.A35;8/3:3* MA5D XV5X?!(8/[7SV4^*OD[J PT"__94OHM8_&-$8\JBG[[*Z(??0_.Z/1U# M Q@YXJ^)FFW@ 9S"^:MT&"/-W&)("-.+/=N?4&S#9>$3*OIB'JNZ79;WT<=R M6P"[0O*?OUMY]+$UZ^:_T(FV97.8W579J^:QF)N;B2VCC:F?S63VA]^1)/XS ME%U,F,2$*4R81H+ULLWWV>8A^NP?3^MOIHZJN\BN=76QR?=B^;SL%IXF^BUP MEG\(@L]--29,;F%B ^M6YN<9NYX^'^8/\W :"=;+G]CG3P3S]\4\F_+)0/G9 M#DP.HI"D/$M%UH_%+:#CA(OTX0QX05OJ!-I MSBGSLJ:#LQL9NW0?NS08N_=-8]H&BEHZC$:>Q3')O&G>#H4L9HREE'MQ.Y6H M3B7J='!ZTHR*[D3>"WM1R?91R8)1^5Q7BZYS"]X$91C9AL3)C%A"A.FD6"];)/8F:AX[#*Z&]FK0)R+A!&OI %"%I.8 M$*]224#(B;#K:.J5-$"8Y#P7N;^0AFB4AU,E*'IS^MG3')"N%\3 MAT)F*U@2#TKB4&A] Q/QH"0.A0FA@O#8KXB7\+;$F5OR?>Z6#&TFR=*4Q-0/ M(2"T5RI)/+BH&0H93462#M9D0$CLU0!C?@@O87&)\[ADK,DE0ZM)6&Q/@GQP M @Z5>6HO:3*_MW(R4IV*U.'IC0V?,\,D[(95:>K[7[M3L#/%ME"#D43UQ:@T MB4I3J#2-1>OGUIECEL5;JW(8>6Z! M1J5)5)I"I6DL6C_5SB;32]IDBFJ346D2E:90:1J+UD^ZL\ETM$VF0Z_ZIR0A M?H6Z!764#]K6D(X(ZY+]MC4LM*9QL"Y?PB139Y+I]YED.G2JL1^[HQ)Y7**. M2W1X*F-#Y&$A4+XQ*DZ@TA4K36+1^V?M*,6D2E:90:1J+UL^SL^Z,7K X,B3KO$LZ)DVBTA0J36/1^DD_V#\> M;CF$BB,;%"AX+PT@A/?2 $)X+PT@A/?2A&\Z #KSG#.C >\[AF8W]5I_K4/!PAP*LCV-N!H:/<_;7 M_#!I$I6F4&D:B];/O^NP<'+![D]\M%:ZWGVO.5*N^H&..LPZ^Y. NA<" ME:90:1J+UL_QP;?:+[D7@J.V45!I$I6F4&D:B]9/NFNC\-%[(?AP2\*@_!V5 MR.,2=5RBP[,8&R77=^#AOL.;Y>_(+9@P]NP/!29-HM(4*DUCT?KI=HT2GEZR M$J(V2U!I$I6F4&D:B]9/NFN6\/".DU ES(Y7PJ,2>5RBCDMT>!9CH^2Z"SS< M70A5PE/ON(0/5RBCDMT>!9CHW3PU+UPJR%4$L?<90D?[NP/"^H>#E2: M0J5I+%K_-'"]%)% MFOVM:MMJO?GQP10+4W<"^_N[JFI?7W0'V#\+?O9_4$L#!!0 ( (Y)"E<# MO7NI,@< "(Z 9 >&PO=V]R:W-H965TYID\F*T+8K=V7@LXRU+J3S-=RQ3 MOZQSD=)"?12;L=P)1E=5H3098\<)QRGEV6A^7GUW)^;G^;Y(>,;N!)+[-*7B M^8HE^=/%R!V]?''/-]NB_&(\/]_1#7M@Q:?=G5"?Q@?*BJT8\7!:HEOB+LR=Y]!Z5J_(ES[^6'ZY7%R.G;!%+6%R4"*K^/;(%2Y*2I-KQ MK8&.#G66!8_?O]!)M?)J9;Y0R19Y\IFOBNW%:#I"*[:F^Z2XSY]^8\T*!24O MSA-9_45/S;+.",5[6>1I4UBU(.59_9]^;S;$40%O]DH!W!3 G0(8OU+ :PIX M[RW@-P7\]Q8(F@+!>PN$38&PVO;UQJJV])(6='XN\BBB$^I6K## MDA64)_)G]!'5!:.,BF#BD<=,GJ";F\7YN% -*_'CN&E$5#<"O]((#]VJ M!FQ+W(JM]/)CM4*'M<(O:W6%K&I3H[*,5"]1C_6HZL MJQH55*CR?/H8LL*'&H*$19 P M @33#$T.AB;VGC".\WVF^D+!8L8?Z9>$H5@=7;Q 7,I]=U!3ZYOTCBW/,>BS MUCQ4'R0L@H01()BF;WK0-WV//K2CSZ4ZDZQI3Y:K7I-N;VBM9Z@L2%@$"2- M,$W6["!K9N\-U5R!9QNF?,6YFN*NF*#E\-)D;=:WYOO8#W%'F[7&H=H@81$D MC #!-&VNTTXU':NX/_.")FA-N4"/--DSE*]U@TA-0C.Y9D*8.\R&?ZRSG/J$ MWJRCLUGP^,P8AA,7N_IR2\-R0>@[>*(O%]E7;*@%8ZUX$K0[I;Z!C^;RKG4# MWXE\QT3Q?()V"':01AKW?H\0%*BT!I!(JF&\2M M06PU>)T]*E6Y>#;:PCU;OND<9*]CL"U(6@1*(U TW58;<+C6V?7\>J5D\36O MAGL\*VBVX>5;6B4?'YO\CHFREZOR-6G4ZO4/PF#F>MU>:&%OS6"OH)D&*(U MT72O;:SA#LHUC-+Z<09V)SAP@JXTT%0#E!:!T@@439?6)ANN/=I8LGK@@,KK M*07+:!8SU%1D--B/-CY.)^XT"+L&01,.4%H$2B-0--U@FW*X]ICC1G6D/.$% M+^,I-6M.7SGTPO>* PT^0&D1*(U T71Q;?CAVM.//]39CA^?"^D[.M!^^N%Z MCA/ZO;$\:/X!2HM :02*IEML,Q#7'H+\FN>K)YXD1EO]^&."\6SF=F6!YA^@ MM B41J!HNJPV W'M(4@]EQ9,31?VS#RLA$P.%J"T)2@M:FC:;!]/IZZG[YP$ MJE;]DG0;?V![_%'UDEFL)@3H0Y)+:;I4>V5G#+4&2EN"TB+<3T'*V:S3.8L3 MJ%IU:VVF@NV9RI"T$1OBE-#W@NY$SE[E8"V@<0HHC4#1='EMG(+M<*^Z9C MZ)H_7RY,CT!6_=>O/_>N0&V^F1NS,>>^6#-8(F1J T D6K-8Z/'FU+F=A4#R%* M5 U^Z^?!#M\>'G2\K![OZWP?N6>D?ERQQ=1/3]Y2L>&91 E;*Z1S.E%3-E$_ MD%A_*/)=]0#=E[PH\K1ZNV5TQ42Y@/I]G>?%RX>R@L-CH?/_ %!+ P04 M" ".20I7\!&XM2X# #N$@ #0 'AL+W-T>6QECNJ7KPY;.(;5T MC\ZY1])U+3*LS5JPVP5C)EJ50M8CLC"F^A#']6S!2EI?J(I)BQ1*E]38KI[' M=:49S6L@E2+N=3II7%(NR7@HE^5U:>IHII;2C$B_#47^]CD?D6[ZGD1>;J)R M-B+W9V]_+)6Y>A/Y^\F[DY/._?G58?S, >G@P@!BXNGSQ)_2 MQJ0O]Z7=\%,KY(FG&&T0H-DL6R9T'#EN-F4\+)3<[DU"?,"JTY)%#U2,R(0* M/M4<6 4MN5C[< \",R64CHPM"INN"Y'ZEX>[O@?UTNB47"KMGVP)[F:33)7. MF6[3=,DF-!X*5H =S><+N!M5Q0 :HTK;R#F=*TF=APVC:5C9&1/B%AZF[\6> M]JK8V;<.[)ILF]90T_0RO@/ZNVI>>U>V]R+=J.(/RGQ:VNE(UX<"93>:%7SE M^JNB-8"I=W%U6E5B_5'PN2R9G_RS$XZ'=,.+%DKS7S8;E,K,!I@FT0/3AL]V M(S\UK>[8RFS*:57@GGNOT//?7>7_\JR^Z]R:#CH ML7E#'KO)_FLPF;X&DZ^B)@?';S+)CM)CW+R_=PX)>T>$-AK!46Q$OL'!3FR3 M1M,E%X;+IK?@><[DHY."E3=T:@_S>_IV?,X*NA3FK@5'9-O^RG*^++-VU TL M1#-JV_X"T^NF[3G0YN(R9RN63YJNGD]=,[(-F[6Y@'"(7+LKC& <*B=A,\;4&)+QN MP,BR\&YC>8"![0)6.Y _G =J*LQ)$MA5S!OV!.-(EF$(U&*X1M,469T4/N'] MP9Z2),FR, )8V$&28 @\C3B".0 /&)(D[CUX\#Z*-^^I>/L+U_@W4$L#!!0 M ( (Y)"E>7BKL

-8?20$3;8T.P6BP^0"X99K>]9!:GH3*?$[GOSIR=B'A3$/XI^FUFZ2K+W?G ^'KEQ#(]UO M9@,::Y;&-M+CH5T-W<:"K-P:P#?U,!N-SH:-5#KY_&G?UZT=Q@?&0^F5T5@8 M"NX5/+F7^G H'I53"U4K_SQ)NN\U)*)16C7J!U239)0(MS9/?QBK?ACM93TO MK:GK29)N*^[!>E6^*IX'R&]RX;H2+Q=W$D$FR=D(.UPJZWS7HNM?(N,C8./M M4>O-E:H]V)GT\+LU[4;I5>@&KV(8748W#OO/[2">V_\RC&:Y5"7,3-DVH/UV M'"W4 5"[M=JX1&C9P"29FD>PX7KP!-?5]MH\0D4C9<\55MCKJL/C1-$5: >5 MP&_.U*I"CDI\D;74)8@(,B,@LR-"_IU%D#D!F1\%$[(WD MF( <'Q,RCR#/",@S7L@9N-*J32@79BD6K5,:G!-25V(A703YGH!\SPMYK4O3 M@#BY,UFW(+[BP+4V:*X_F91$4G:+-(WR'5+W M4)089>(M![I4_3FF))(R6V0.JU>#1ODB91;&O%TX^-YB(W'Y^"L8)8F4V1(7 ML%(NQ />8EC?3>A=:(?/1EA#8DS*&BFS-LBHH!=?990V,F9MA'C@53@@3G"K M5(-[%U-2ULB8K;&/#)X/DI'[$691D-&!.(DQ*8-DS 8AHX/^W4B))&,6R5:[ M!R>9$DC&+)"W_+L#C3$IA63,"GE#P_OAC#$ILV3<9MF9[N T4V;)CFF6_D-" MF24[JEGB37%.F25G-LL=X)J-M^) S)23JY6%E=PS8UV,2:DE9U;+"^9%5:E0 M+6MQK;=]*1-C4I[)N3H9^"EJGM/=TZY)6=V M"VWJ08Q)N29G=@V)V<]P4J[)F5U#!Q2]18AR3]J(PBQB3,D_.GOFB,,G-D\9/*F=V\6E'D*[CW-+HH\L (5E&H*9M7LN 8'$W2]^*R@5%/\+[DO MQ+QJ/<:0XFMX5=&TD[!K)VW M]@YX%X2:&)/23G&D+X@L:8E'8*9NW\FG&BL7AQ9@RS;@SS7#_'K^")6Z5JC_Q% [+2UF7MU:$C^T+AV(< M4H;+MJZG6/:7OC&RVO\M8/^7AL__ E!+ P04 " ".20I7.(-O)L0! - M'@ &@ 'AL+U]R96QS+W=O^9H[=3'_\SL5NO=ZOXTJT^]_&0_Q@7!E&ULS=G);L(P M% 707T'95L1X@ X"-FVW+8O^@)L\("*)+=M0^/LZ89!:T:B(2KV;1(GM=U]L MZ6PR?MM9\KUM5=9^DBQ#L ^,^6Q)E?:IL53'D;EQE0[QT2V8U=E*+XB)P6#$ M,E,'JD,_-#62Z?B)YGI=AM[S-K[VA:DGB:/2)[W'_<0F:Y)H:\LBTR&.LTV= M?TOI'Q+2N+*=XY>%]3=Q0L+.)C0C/P<M.='.(.T_[*K\YORW0%QIDS M9ZR/)^;H\KCCD32K^S86(A>*[D\\)<;25W\?-:>=4_[+[+B]'\:MVO/PK+U= MO\=?S_A4_\(^!$@?$J0/!=+'$*2/$4@?MR!]W('T<0_2!Q^@-((B*D&UL4$L! A0#% @ CDD*5\N:>HOM *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ CDD*5YE< MG",0!@ G"< !, ( !RP$ 'AL+W1H96UE+W1H96UE,2YX M;6Q02P$"% ,4 " ".20I7S:D;*,$$ !N$P & @($, M" >&PO=V]R:W-H965T&UL4$L! A0#% @ CDD*5\'W MO[" " =BP !@ ("! PT 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0#% @ CDD*5_/5A3S4!P 5SX !@ M ("!:R$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ CDD*5P&^A?DP( M ,$% 8 " @:]" !X;"]W;W)K&PO=V]R:W-H965T^ M:[EUS@8 $@0 9 " @;!) !X;"]W;W)K&UL4$L! A0#% @ CDD*5[Y8M=G6!0 < X !D M ("!M5 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ CDD*5_L/'A4$!@ _1 !D ("!\64 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ CDD* M5TB\%?EP @ H04 !D ("!JG4 'AL+W=O >&PO=V]R:W-H965T;F.QN" 8 ,0 9 " @3.% !X;"]W;W)K M&UL4$L! A0#% @ CDD*5[V)-K1. P W@< M !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ CDD*5T>$T$C?! ]@H !D M ("!/I4 'AL+W=O&PO=V]R:W-H965T M !X;"]W;W)K&UL4$L! A0# M% @ CDD*5]? [/WJ P 4@L !D ("!(Z( 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ CDD*5Z@M M]R:L!0 >2P !D ("!&:\ 'AL+W=O&PO=V]R:W-H965T'VV3N]P( "4( 9 " @:.^ !X;"]W;W)K&UL4$L! A0#% @ CDD*5]1//6%/! 1A, !D M ("!T<$ 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ CDD*5YHW-L.= @ [ < !D ("! MO&PO=V]R:W-H965TX7]6(1@, )8* 9 M " @:;7 !X;"]W;W)K&UL4$L! A0#% M @ CDD*5V20E+7,!0 "D !D ("!(]L 'AL+W=O&PO=V]R:W-H965T)1O!%E 8 'DX 9 " @;OP !X;"]W;W)K&UL4$L! A0#% @ CDD*5ZR<9T5.!@ W2L !D M ("!AO< 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ CDD*5PS63;@_ @ \ 4 !D ("!O0@! M 'AL+W=O!M. M0(\) 77@ &0 @($S"P$ >&PO=V]R:W-H965T&UL4$L! A0#% @ MCDD*5_ 1N+4N P [A( T ( !8AP! 'AL+W-T>6QE'.^DP$ !6(0 #P M @ &D( $ >&PO=V]R:V)O;VLN>&UL4$L! A0#% @ CDD* M5SB#;R;$ 0 #1X !H ( !'24! 'AL+U]R96QS+W=O XML 62 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 63 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 64 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 256 265 1 false 50 0 false 11 false false R1.htm 0000001 - Document - Cover Sheet http://www.tecogen.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.tecogen.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 0000005 - Statement - Condensed Consolidated Statements of Stockholders' Equity Statement Sheet http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement Condensed Consolidated Statements of Stockholders' Equity Statement Statements 5 false false R6.htm 0000006 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 6 false false R7.htm 0000007 - Disclosure - Description of business and basis of presentation Sheet http://www.tecogen.com/role/Descriptionofbusinessandbasisofpresentation Description of business and basis of presentation Notes 7 false false R8.htm 0000009 - Disclosure - Income (Loss) Per Common Share Sheet http://www.tecogen.com/role/IncomeLossPerCommonShare Income (Loss) Per Common Share Notes 8 false false R9.htm 0000010 - Disclosure - Inventories, net Sheet http://www.tecogen.com/role/Inventoriesnet Inventories, net Notes 9 false false R10.htm 0000011 - Disclosure - Property, Plant and Equipment, net Sheet http://www.tecogen.com/role/PropertyPlantandEquipmentnet Property, Plant and Equipment, net Notes 10 false false R11.htm 0000012 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill Sheet http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwill Intangible Assets and Liabilities Other Than Goodwill Notes 11 false false R12.htm 0000013 - Disclosure - Sale of Energy Producing Assets and Goodwill Impairment Sheet http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairment Sale of Energy Producing Assets and Goodwill Impairment Notes 12 false false R13.htm 0000014 - Disclosure - Leases Sheet http://www.tecogen.com/role/Leases Leases Notes 13 false false R14.htm 0000015 - Disclosure - Stock-Based Compensation Sheet http://www.tecogen.com/role/StockBasedCompensation Stock-Based Compensation Notes 14 false false R15.htm 0000016 - Disclosure - Fair Value Measurements Sheet http://www.tecogen.com/role/FairValueMeasurements Fair Value Measurements Notes 15 false false R16.htm 0000018 - Disclosure - Commitments and contingencies Sheet http://www.tecogen.com/role/Commitmentsandcontingencies Commitments and contingencies Notes 16 false false R17.htm 0000019 - Disclosure - Segments Sheet http://www.tecogen.com/role/Segments Segments Notes 17 false false R18.htm 0000020 - Disclosure - Subsequent Events Sheet http://www.tecogen.com/role/SubsequentEvents Subsequent Events Notes 18 false false R19.htm 0000021 - Disclosure - Aegis Contract and Related Asset Acquisition Sheet http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisition Aegis Contract and Related Asset Acquisition Notes 19 false false R20.htm 9954701 - Disclosure - Description of business and basis of presentation (Policies) Sheet http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationPolicies Description of business and basis of presentation (Policies) Policies 20 false false R21.htm 9954703 - Disclosure - Loss Per Common Share (Tables) Sheet http://www.tecogen.com/role/LossPerCommonShareTables Loss Per Common Share (Tables) Tables 21 false false R22.htm 9954704 - Disclosure - Inventory (Tables) Sheet http://www.tecogen.com/role/InventoryTables Inventory (Tables) Tables http://www.tecogen.com/role/Inventoriesnet 22 false false R23.htm 9954705 - Disclosure - Property, Plant and Equipment (Tables) Sheet http://www.tecogen.com/role/PropertyPlantandEquipmentTables Property, Plant and Equipment (Tables) Tables http://www.tecogen.com/role/PropertyPlantandEquipmentnet 23 false false R24.htm 9954706 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill (Tables) Sheet http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillTables Intangible Assets and Liabilities Other Than Goodwill (Tables) Tables http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwill 24 false false R25.htm 9954707 - Disclosure - Leases (Tables) Sheet http://www.tecogen.com/role/LeasesTables Leases (Tables) Tables http://www.tecogen.com/role/Leases 25 false false R26.htm 9954708 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.tecogen.com/role/StockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.tecogen.com/role/StockBasedCompensation 26 false false R27.htm 9954709 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.tecogen.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.tecogen.com/role/FairValueMeasurements 27 false false R28.htm 9954710 - Disclosure - Segments (Tables) Sheet http://www.tecogen.com/role/SegmentsTables Segments (Tables) Tables http://www.tecogen.com/role/Segments 28 false false R29.htm 9954711 - Disclosure - Aegis Contract and Related Asset Acquisition (Tables) Sheet http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionTables Aegis Contract and Related Asset Acquisition (Tables) Tables http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisition 29 false false R30.htm 9954712 - Disclosure - Description of business and basis of presentation - Additional Information (Details) Sheet http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails Description of business and basis of presentation - Additional Information (Details) Details 30 false false R31.htm 9954713 - Disclosure - Revenue - Disaggregation of Revenue (Details) Sheet http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails Revenue - Disaggregation of Revenue (Details) Details 31 false false R32.htm 9954714 - Disclosure - Revenue - Additional Information (Details) Sheet http://www.tecogen.com/role/RevenueAdditionalInformationDetails Revenue - Additional Information (Details) Details 32 false false R33.htm 9954715 - Disclosure - Loss Per Common Share - Schedule of Income (Loss) Per Common Share, Basic and Diluted (Details) Sheet http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails Loss Per Common Share - Schedule of Income (Loss) Per Common Share, Basic and Diluted (Details) Details 33 false false R34.htm 9954716 - Disclosure - Inventory (Details) Sheet http://www.tecogen.com/role/InventoryDetails Inventory (Details) Details http://www.tecogen.com/role/InventoryTables 34 false false R35.htm 9954717 - Disclosure - Property, Plant and Equipment - Summary of Property and Equipment (Details) Sheet http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails Property, Plant and Equipment - Summary of Property and Equipment (Details) Details 35 false false R36.htm 9954718 - Disclosure - Property, Plant and Equipment - Depreciation (Details) Sheet http://www.tecogen.com/role/PropertyPlantandEquipmentDepreciationDetails Property, Plant and Equipment - Depreciation (Details) Details 36 false false R37.htm 9954719 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill -Amounts related to intangible assets (Details) Sheet http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails Intangible Assets and Liabilities Other Than Goodwill -Amounts related to intangible assets (Details) Details 37 false false R38.htm 9954720 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill (Details) Sheet http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillDetails Intangible Assets and Liabilities Other Than Goodwill (Details) Details http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillTables 38 false false R39.htm 9954721 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill - Future Amortization of Customer Contracts (Details) Sheet http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails Intangible Assets and Liabilities Other Than Goodwill - Future Amortization of Customer Contracts (Details) Details 39 false false R40.htm 9954722 - Disclosure - Sale of Energy Producing Assets and Goodwill Impairment (Details) Sheet http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairmentDetails Sale of Energy Producing Assets and Goodwill Impairment (Details) Details http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairment 40 false false R41.htm 9954723 - Disclosure - Leases (Details) Sheet http://www.tecogen.com/role/LeasesDetails Leases (Details) Details http://www.tecogen.com/role/LeasesTables 41 false false R42.htm 9954724 - Disclosure - Leases - Assets and Liabilities, Lessee (Details) Sheet http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails Leases - Assets and Liabilities, Lessee (Details) Details 42 false false R43.htm 9954725 - Disclosure - Leases - Future Minimum Lease Commitments (Details) Sheet http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails Leases - Future Minimum Lease Commitments (Details) Details 43 false false R44.htm 9954726 - Disclosure - Stock-Based Compensation - Stock-Based Compensation (Details) Sheet http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails Stock-Based Compensation - Stock-Based Compensation (Details) Details 44 false false R45.htm 9954727 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details) Sheet http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock Option Activity (Details) Details 45 false false R46.htm 9954728 - Disclosure - Fair Value Measurements - Fair Value on a Recurring Basis (Details) Sheet http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails Fair Value Measurements - Fair Value on a Recurring Basis (Details) Details 46 false false R47.htm 9954729 - Disclosure - Fair Value Measurements - Change in Level 2 Assets (Details) Sheet http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails Fair Value Measurements - Change in Level 2 Assets (Details) Details 47 false false R48.htm 9954731 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.tecogen.com/role/CommitmentsandContingenciesDetails Commitments and Contingencies (Details) Details 48 false false R49.htm 9954732 - Disclosure - Segments (Details) Sheet http://www.tecogen.com/role/SegmentsDetails Segments (Details) Details http://www.tecogen.com/role/SegmentsTables 49 false false R50.htm 9954733 - Disclosure - Aegis Contract and Related Asset Acquisition (Details) Sheet http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails Aegis Contract and Related Asset Acquisition (Details) Details http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionTables 50 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 12 fact(s) appearing in ix:hidden were eligible for transformation: dei:DocumentPeriodEndDate, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding - tgen-20230630.htm 4 tgen-20230630.htm tgen-20230630.xsd tgen-20230630_cal.xml tgen-20230630_def.xml tgen-20230630_lab.xml tgen-20230630_pre.xml tgn-20230630xex311.htm tgn-20230630xex321.htm tgen-20230630_g1.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 67 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "tgen-20230630.htm": { "axisCustom": 0, "axisStandard": 22, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 759, "http://xbrl.sec.gov/dei/2023": 75 }, "contextCount": 256, "dts": { "calculationLink": { "local": [ "tgen-20230630_cal.xml" ] }, "definitionLink": { "local": [ "tgen-20230630_def.xml" ] }, "inline": { "local": [ "tgen-20230630.htm" ] }, "labelLink": { "local": [ "tgen-20230630_lab.xml" ] }, "presentationLink": { "local": [ "tgen-20230630_pre.xml" ] }, "schema": { "local": [ "tgen-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] } }, "elementCount": 455, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 13, "http://xbrl.sec.gov/dei/2023": 8, "total": 21 }, "keyCustom": 50, "keyStandard": 215, "memberCustom": 16, "memberStandard": 33, "nsprefix": "tgen", "nsuri": "http://www.tecogen.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover", "menuCat": "Cover", "order": "1", "role": "http://www.tecogen.com/role/Cover", "shortName": "Cover", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Property, Plant and Equipment, net", "menuCat": "Notes", "order": "10", "role": "http://www.tecogen.com/role/PropertyPlantandEquipmentnet", "shortName": "Property, Plant and Equipment, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill", "menuCat": "Notes", "order": "11", "role": "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwill", "shortName": "Intangible Assets and Liabilities Other Than Goodwill", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Sale of Energy Producing Assets and Goodwill Impairment", "menuCat": "Notes", "order": "12", "role": "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairment", "shortName": "Sale of Energy Producing Assets and Goodwill Impairment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Leases", "menuCat": "Notes", "order": "13", "role": "http://www.tecogen.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Stock-Based Compensation", "menuCat": "Notes", "order": "14", "role": "http://www.tecogen.com/role/StockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Fair Value Measurements", "menuCat": "Notes", "order": "15", "role": "http://www.tecogen.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsContingenciesAndGuaranteesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Commitments and contingencies", "menuCat": "Notes", "order": "16", "role": "http://www.tecogen.com/role/Commitmentsandcontingencies", "shortName": "Commitments and contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsContingenciesAndGuaranteesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Segments", "menuCat": "Notes", "order": "17", "role": "http://www.tecogen.com/role/Segments", "shortName": "Segments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Subsequent Events", "menuCat": "Notes", "order": "18", "role": "http://www.tecogen.com/role/SubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000021 - Disclosure - Aegis Contract and Related Asset Acquisition", "menuCat": "Notes", "order": "19", "role": "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisition", "shortName": "Aegis Contract and Related Asset Acquisition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets", "menuCat": "Statements", "order": "2", "role": "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "shortName": "Condensed Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "tgen:PrinciplesOfConsolidationAndBasisOfPresentationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954701 - Disclosure - Description of business and basis of presentation (Policies)", "menuCat": "Policies", "order": "20", "role": "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationPolicies", "shortName": "Description of business and basis of presentation (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "tgen:PrinciplesOfConsolidationAndBasisOfPresentationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954703 - Disclosure - Loss Per Common Share (Tables)", "menuCat": "Tables", "order": "21", "role": "http://www.tecogen.com/role/LossPerCommonShareTables", "shortName": "Loss Per Common Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954704 - Disclosure - Inventory (Tables)", "menuCat": "Tables", "order": "22", "role": "http://www.tecogen.com/role/InventoryTables", "shortName": "Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954705 - Disclosure - Property, Plant and Equipment (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.tecogen.com/role/PropertyPlantandEquipmentTables", "shortName": "Property, Plant and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954706 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillTables", "shortName": "Intangible Assets and Liabilities Other Than Goodwill (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954707 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.tecogen.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-172", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954708 - Disclosure - Stock-Based Compensation (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.tecogen.com/role/StockBasedCompensationTables", "shortName": "Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-172", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954709 - Disclosure - Fair Value Measurements (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.tecogen.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954710 - Disclosure - Segments (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.tecogen.com/role/SegmentsTables", "shortName": "Segments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AssetAcquisitionTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954711 - Disclosure - Aegis Contract and Related Asset Acquisition (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionTables", "shortName": "Aegis Contract and Related Asset Acquisition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AssetAcquisitionTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "2", "first": true, "lang": "en-US", "name": "tgen:PercentageOfOwnedJointVenture", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954712 - Disclosure - Description of business and basis of presentation - Additional Information (Details)", "menuCat": "Details", "order": "30", "role": "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails", "shortName": "Description of business and basis of presentation - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "2", "first": true, "lang": "en-US", "name": "tgen:PercentageOfOwnedJointVenture", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954713 - Disclosure - Revenue - Disaggregation of Revenue (Details)", "menuCat": "Details", "order": "31", "role": "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "shortName": "Revenue - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-72", "decimals": "0", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954714 - Disclosure - Revenue - Additional Information (Details)", "menuCat": "Details", "order": "32", "role": "http://www.tecogen.com/role/RevenueAdditionalInformationDetails", "shortName": "Revenue - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954715 - Disclosure - Loss Per Common Share - Schedule of Income (Loss) Per Common Share, Basic and Diluted (Details)", "menuCat": "Details", "order": "33", "role": "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails", "shortName": "Loss Per Common Share - Schedule of Income (Loss) Per Common Share, Basic and Diluted (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-122", "decimals": "0", "lang": "en-US", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954716 - Disclosure - Inventory (Details)", "menuCat": "Details", "order": "34", "role": "http://www.tecogen.com/role/InventoryDetails", "shortName": "Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954717 - Disclosure - Property, Plant and Equipment - Summary of Property and Equipment (Details)", "menuCat": "Details", "order": "35", "role": "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails", "shortName": "Property, Plant and Equipment - Summary of Property and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "tgen:DepreciationDepletionandAmortizationPropertyPlantandEquipment", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954718 - Disclosure - Property, Plant and Equipment - Depreciation (Details)", "menuCat": "Details", "order": "36", "role": "http://www.tecogen.com/role/PropertyPlantandEquipmentDepreciationDetails", "shortName": "Property, Plant and Equipment - Depreciation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "tgen:DepreciationDepletionandAmortizationPropertyPlantandEquipment", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsGrossExcludingGoodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954719 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill -Amounts related to intangible assets (Details)", "menuCat": "Details", "order": "37", "role": "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails", "shortName": "Intangible Assets and Liabilities Other Than Goodwill -Amounts related to intangible assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsGrossExcludingGoodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954720 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill (Details)", "menuCat": "Details", "order": "38", "role": "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillDetails", "shortName": "Intangible Assets and Liabilities Other Than Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsNet", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954721 - Disclosure - Intangible Assets and Liabilities Other Than Goodwill - Future Amortization of Customer Contracts (Details)", "menuCat": "Details", "order": "39", "role": "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails", "shortName": "Intangible Assets and Liabilities Other Than Goodwill - Future Amortization of Customer Contracts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-158", "decimals": "0", "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations", "menuCat": "Statements", "order": "4", "role": "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "shortName": "Condensed Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-159", "decimals": "INF", "first": true, "lang": "en-US", "name": "tgen:NumberofSalesofEnergyProducingAssets", "reportCount": 1, "unique": true, "unitRef": "sale", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954722 - Disclosure - Sale of Energy Producing Assets and Goodwill Impairment (Details)", "menuCat": "Details", "order": "40", "role": "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairmentDetails", "shortName": "Sale of Energy Producing Assets and Goodwill Impairment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-159", "decimals": "INF", "first": true, "lang": "en-US", "name": "tgen:NumberofSalesofEnergyProducingAssets", "reportCount": 1, "unique": true, "unitRef": "sale", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:LeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954723 - Disclosure - Leases (Details)", "menuCat": "Details", "order": "41", "role": "http://www.tecogen.com/role/LeasesDetails", "shortName": "Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:LeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954724 - Disclosure - Leases - Assets and Liabilities, Lessee (Details)", "menuCat": "Details", "order": "42", "role": "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails", "shortName": "Leases - Assets and Liabilities, Lessee (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "tgen:AssetsAndLiabilitiesLesseeTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "lang": "en-US", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954725 - Disclosure - Leases - Future Minimum Lease Commitments (Details)", "menuCat": "Details", "order": "43", "role": "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails", "shortName": "Leases - Future Minimum Lease Commitments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-2", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954726 - Disclosure - Stock-Based Compensation - Stock-Based Compensation (Details)", "menuCat": "Details", "order": "44", "role": "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "shortName": "Stock-Based Compensation - Stock-Based Compensation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": "0", "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-173", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954727 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)", "menuCat": "Details", "order": "45", "role": "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails", "shortName": "Stock-Based Compensation - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-172", "decimals": "INF", "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-11", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954728 - Disclosure - Fair Value Measurements - Fair Value on a Recurring Basis (Details)", "menuCat": "Details", "order": "46", "role": "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails", "shortName": "Fair Value Measurements - Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-189", "decimals": "0", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-200", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954729 - Disclosure - Fair Value Measurements - Change in Level 2 Assets (Details)", "menuCat": "Details", "order": "47", "role": "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "shortName": "Fair Value Measurements - Change in Level 2 Assets (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R48": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-204", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:LossContingencyDamagesSoughtValue", "reportCount": 1, "unique": true, "unitRef": "cad", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954731 - Disclosure - Commitments and Contingencies (Details)", "menuCat": "Details", "order": "48", "role": "http://www.tecogen.com/role/CommitmentsandContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-204", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:LossContingencyDamagesSoughtValue", "reportCount": 1, "unique": true, "unitRef": "cad", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954732 - Disclosure - Segments (Details)", "menuCat": "Details", "order": "49", "role": "http://www.tecogen.com/role/SegmentsDetails", "shortName": "Segments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-212", "decimals": "0", "lang": "en-US", "name": "us-gaap:GrossProfit", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-51", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - Condensed Consolidated Statements of Stockholders' Equity Statement", "menuCat": "Statements", "order": "5", "role": "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement", "shortName": "Condensed Consolidated Statements of Stockholders' Equity Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-51", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-160", "decimals": "INF", "first": true, "lang": "en-US", "name": "tgen:NumberOfAssetsAcquired", "reportCount": 1, "unique": true, "unitRef": "vehicle", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954733 - Disclosure - Aegis Contract and Related Asset Acquisition (Details)", "menuCat": "Details", "order": "50", "role": "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "shortName": "Aegis Contract and Related Asset Acquisition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-160", "decimals": "INF", "first": true, "lang": "en-US", "name": "tgen:NumberOfAssetsAcquired", "reportCount": 1, "unique": true, "unitRef": "vehicle", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - Condensed Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "6", "role": "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "shortName": "Condensed Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": "0", "lang": "en-US", "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000007 - Disclosure - Description of business and basis of presentation", "menuCat": "Notes", "order": "7", "role": "http://www.tecogen.com/role/Descriptionofbusinessandbasisofpresentation", "shortName": "Description of business and basis of presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Income (Loss) Per Common Share", "menuCat": "Notes", "order": "8", "role": "http://www.tecogen.com/role/IncomeLossPerCommonShare", "shortName": "Income (Loss) Per Common Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Inventories, net", "menuCat": "Notes", "order": "9", "role": "http://www.tecogen.com/role/Inventoriesnet", "shortName": "Inventories, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "tgen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 50, "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", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r592" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r593" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r591" ], "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", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails", "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r591" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r591" ], "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", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "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", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r594" ], "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", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityNumberOfEmployees": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of persons employed by the Entity", "label": "Entity Number of Employees", "terseLabel": "Average number of employees" } } }, "localname": "EntityNumberOfEmployees", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "decimalItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r591" ], "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", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r591" ], "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", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r591" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r591" ], "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", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails", "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.tecogen.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "srt_ConsolidatedEntitiesAxis": { "auth_ref": [ "r166", "r376", "r377", "r380", "r381", "r423", "r540", "r630", "r633", "r634" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Axis]", "terseLabel": "Consolidated Entities [Axis]" } } }, "localname": "ConsolidatedEntitiesAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails", "http://www.tecogen.com/role/StockBasedCompensationTables" ], "xbrltype": "stringItemType" }, "srt_ConsolidatedEntitiesDomain": { "auth_ref": [ "r166", "r376", "r377", "r380", "r381", "r423", "r540", "r630", "r633", "r634" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Domain]", "terseLabel": "Consolidated Entities [Domain]" } } }, "localname": "ConsolidatedEntitiesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails", "http://www.tecogen.com/role/StockBasedCompensationTables" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r166", "r200", "r211", "r212", "r213", "r214", "r215", "r217", "r221", "r265", "r266", "r267", "r268", "r270", "r271", "r273", "r275", "r276", "r631", "r632" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r166", "r200", "r211", "r212", "r213", "r214", "r215", "r217", "r221", "r265", "r266", "r267", "r268", "r270", "r271", "r273", "r275", "r276", "r631", "r632" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r259", "r260", "r261", "r262", "r327", "r430", "r470", "r483", "r484", "r534", "r535", "r536", "r537", "r538", "r541", "r542", "r552", "r559", "r572", "r579", "r635", "r678", "r679", "r680", "r681", "r682", "r683" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails", "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r259", "r260", "r261", "r262", "r327", "r430", "r470", "r483", "r484", "r534", "r535", "r536", "r537", "r538", "r541", "r542", "r552", "r559", "r572", "r579", "r635", "r678", "r679", "r680", "r681", "r682", "r683" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails", "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "domainItemType" }, "srt_ParentCompanyMember": { "auth_ref": [ "r166" ], "lang": { "en-us": { "role": { "label": "Parent Company [Member]", "terseLabel": "Tecogen" } } }, "localname": "ParentCompanyMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails", "http://www.tecogen.com/role/StockBasedCompensationTables" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r223", "r432", "r464", "r465", "r466", "r467", "r468", "r469", "r543", "r560", "r578", "r597", "r628", "r629", "r636", "r686" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r223", "r432", "r464", "r465", "r466", "r467", "r468", "r469", "r543", "r560", "r578", "r597", "r628", "r629", "r636", "r686" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r259", "r260", "r261", "r262", "r320", "r327", "r354", "r355", "r356", "r429", "r430", "r470", "r483", "r484", "r534", "r535", "r536", "r537", "r538", "r541", "r542", "r552", "r559", "r572", "r579", "r582", "r623", "r635", "r679", "r680", "r681", "r682", "r683" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails", "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r259", "r260", "r261", "r262", "r320", "r327", "r354", "r355", "r356", "r429", "r430", "r470", "r483", "r484", "r534", "r535", "r536", "r537", "r538", "r541", "r542", "r552", "r559", "r572", "r579", "r582", "r623", "r635", "r679", "r680", "r681", "r682", "r683" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails", "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioForecastMember": { "auth_ref": [ "r328", "r613" ], "lang": { "en-us": { "role": { "label": "Forecast [Member]", "terseLabel": "Forecast" } } }, "localname": "ScenarioForecastMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r180", "r328", "r595", "r613" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "domainItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r180", "r328", "r595", "r596", "r613" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "stringItemType" }, "tgen_A2022StockIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 Stock Incentive Plan", "label": "2022 Stock Incentive Plan [Member]", "terseLabel": "2022 Stock Incentive Plan" } } }, "localname": "A2022StockIncentivePlanMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "tgen_AegisEnergyServicesLLCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Aegis Energy Services, LLC", "label": "Aegis Energy Services, LLC [Member]", "terseLabel": "Aegis Energy Services, LLC" } } }, "localname": "AegisEnergyServicesLLCMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "tgen_AmendedStockOptionandIncentivePlan2006Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amended 2006 Stock Option and Incentive Plan [Member]", "label": "Amended Stock Option and Incentive Plan 2006 [Member]", "terseLabel": "Amended Plan" } } }, "localname": "AmendedStockOptionandIncentivePlan2006Member", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "tgen_AmericanDgEnergyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "American DG Energy [Member]", "label": "American DG Energy [Member]", "terseLabel": "American DG Energy, Inc." } } }, "localname": "AmericanDgEnergyMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "tgen_AmortizationofContractRelatedIntangibleAssetsandLiabilitiesNet": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amortization of Contract Related Intangible Assets and Liabilities, Net", "label": "Amortization of Contract Related Intangible Assets and Liabilities, Net", "terseLabel": "Net credit to cost of sales for amortization of contract related intangible assets and liabilities" } } }, "localname": "AmortizationofContractRelatedIntangibleAssetsandLiabilitiesNet", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionAssetsAcquired": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Assets Acquired", "label": "Asset Acquisition, Assets Acquired", "totalLabel": "Assets acquired" } } }, "localname": "AssetAcquisitionAssetsAcquired", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionAssetsAcquiredAndLiabilitiesAssumedNet": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Assets Acquired and Liabilities Assumed, Net", "label": "Asset Acquisition, Assets Acquired and Liabilities Assumed, Net", "terseLabel": "Net identifiable assets acquired" } } }, "localname": "AssetAcquisitionAssetsAcquiredAndLiabilitiesAssumedNet", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionConsiderationTransferredAccountsPayable": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 1.0, "parentTag": "us-gaap_AssetAcquisitionConsiderationTransferred", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Consideration Transferred, Accounts Payable", "label": "Asset Acquisition, Consideration Transferred, Accounts Payable", "terseLabel": "Account payable" } } }, "localname": "AssetAcquisitionConsiderationTransferredAccountsPayable", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionConsiderationTransferredContingentConsiderationCurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 1.0, "parentTag": "tgen_AssetAcquisitionLiabilitiesAssumedCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Consideration Transferred, Contingent Consideration, Current", "label": "Asset Acquisition, Consideration Transferred, Contingent Consideration, Current", "terseLabel": "Contingent consideration" } } }, "localname": "AssetAcquisitionConsiderationTransferredContingentConsiderationCurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionConsiderationTransferredContingentConsiderationNoncurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 1.0, "parentTag": "tgen_AssetAcquisitionLiabilitiesAssumedNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Consideration Transferred, Contingent Consideration, Noncurrent", "label": "Asset Acquisition, Consideration Transferred, Contingent Consideration, Noncurrent", "terseLabel": "Contingent consideration" } } }, "localname": "AssetAcquisitionConsiderationTransferredContingentConsiderationNoncurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionInventory": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 1.0, "parentTag": "tgen_AssetAcquisitionAssetsAcquired", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Inventory", "label": "Asset Acquisition, Inventory", "terseLabel": "Inventory" } } }, "localname": "AssetAcquisitionInventory", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionLiabilitiesAssumed": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Liabilities Assumed", "label": "Asset Acquisition, Liabilities Assumed", "terseLabel": "Liabilities assumed" } } }, "localname": "AssetAcquisitionLiabilitiesAssumed", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionLiabilitiesAssumedCurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Liabilities Assumed, Current", "label": "Asset Acquisition, Liabilities Assumed, Current", "totalLabel": "Liabilities assumed, current" } } }, "localname": "AssetAcquisitionLiabilitiesAssumedCurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionLiabilitiesAssumedNoncurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Liabilities Assumed, Noncurrent", "label": "Asset Acquisition, Liabilities Assumed, Noncurrent", "totalLabel": "Liabilities assumed, noncurrent" } } }, "localname": "AssetAcquisitionLiabilitiesAssumedNoncurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionPropertyPlantAndEquipment": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 2.0, "parentTag": "tgen_AssetAcquisitionAssetsAcquired", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Property, Plant and Equipment", "label": "Asset Acquisition, Property, Plant and Equipment", "terseLabel": "Property, plant and equipment" } } }, "localname": "AssetAcquisitionPropertyPlantAndEquipment", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Reserves", "label": "Asset Acquisition, Reserves", "terseLabel": "Deferred maintenance reserve" } } }, "localname": "AssetAcquisitionReserves", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionReservesCurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 2.0, "parentTag": "tgen_AssetAcquisitionLiabilitiesAssumedCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Reserves, Current", "label": "Asset Acquisition, Reserves, Current", "terseLabel": "Deferred maintenance reserve" } } }, "localname": "AssetAcquisitionReservesCurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetAcquisitionReservesNoncurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 2.0, "parentTag": "tgen_AssetAcquisitionLiabilitiesAssumedNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Reserves, Noncurrent", "label": "Asset Acquisition, Reserves, Noncurrent", "terseLabel": "Deferred maintenance reserve" } } }, "localname": "AssetAcquisitionReservesNoncurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "tgen_AssetsAndLiabilitiesLesseeTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Assets and Liabilities, Lessee", "label": "Assets and Liabilities, Lessee [Table Text Block]", "terseLabel": "Assets and Liabilities, Lessee" } } }, "localname": "AssetsAndLiabilitiesLesseeTableTextBlock", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "tgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilitiesCurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Financial Liabilities, Current", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Financial Liabilities, Current", "terseLabel": "Unfavorable contract liability, current" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilitiesCurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "tgen_ContractAssetAndLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contract Asset and Liability", "label": "Contract Asset and Liability [Member]", "terseLabel": "Contract Asset and Liability" } } }, "localname": "ContractAssetAndLiabilityMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "domainItemType" }, "tgen_ContractRelatedIntangiblesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contract-related Intangibles", "label": "Contract-related Intangibles [Abstract]", "terseLabel": "Contract-related Intangibles [Abstract]" } } }, "localname": "ContractRelatedIntangiblesAbstract", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "stringItemType" }, "tgen_DebtInstrumentDecreaseForgivenessOfAccruedInterest": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Decrease, Forgiveness of Accrued Interest", "label": "Debt Instrument, Decrease, Forgiveness of Accrued Interest", "terseLabel": "Accrued interest forgiven" } } }, "localname": "DebtInstrumentDecreaseForgivenessOfAccruedInterest", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "tgen_DecreaseInGrossReceipts": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Decrease in Gross Receipts", "label": "Decrease in Gross Receipts", "terseLabel": "Decrease in gross receipts in quarter (percent)" } } }, "localname": "DecreaseInGrossReceipts", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "tgen_DepreciationDepletionandAmortizationPropertyPlantandEquipment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Depreciation, Depletion and Amortization, Property, Plant and Equipment", "label": "Depreciation, Depletion and Amortization, Property, Plant and Equipment", "terseLabel": "Depreciation and amortization expense" } } }, "localname": "DepreciationDepletionandAmortizationPropertyPlantandEquipment", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentDepreciationDetails" ], "xbrltype": "monetaryItemType" }, "tgen_DocumentAndEntityInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Document and Entity Information [Abstract]", "label": "Document and Entity Information [Abstract]", "terseLabel": "Document and Entity Information [Abstract]" } } }, "localname": "DocumentAndEntityInformationAbstract", "nsuri": "http://www.tecogen.com/20230630", "xbrltype": "stringItemType" }, "tgen_EmployeeRetentionCredit": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 5.0, "parentTag": "us-gaap_InterestIncomeExpenseNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee Retention Credit", "label": "Employee Retention Credit", "negatedTerseLabel": "Employee retention credit", "terseLabel": "Employee Retention Credit" } } }, "localname": "EmployeeRetentionCredit", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "tgen_EmployeeRetentionCreditCurrent": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Employee Retention Credit, Current", "label": "Employee Retention Credit, Current", "terseLabel": "Employee retention credit receivable" } } }, "localname": "EmployeeRetentionCreditCurrent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "tgen_EnergyProductionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Energy Production [Member]", "label": "Energy Production [Member]", "terseLabel": "Energy production" } } }, "localname": "EnergyProductionMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "tgen_EurositePowerIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "EuroSite Power Inc.", "label": "Eurosite Power Inc [Member]", "terseLabel": "Eurosite Power, Inc." } } }, "localname": "EurositePowerIncMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails", "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "tgen_ExercisePricePerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Exercise Price Per Share [Abstract]", "label": "Exercise Price Per Share [Abstract]", "terseLabel": "Exercise Price Per Share [Abstract]" } } }, "localname": "ExercisePricePerShareAbstract", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "tgen_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilitiesAccumulatedAmortization": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails": { "order": 2.0, "parentTag": "tgen_IntangibleLiabilitiesNet", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liabilities, Accumulated Amortization", "label": "Finite-Lived Intangible Liabilities, Accumulated Amortization", "negatedTerseLabel": "Less - accumulated amortization" } } }, "localname": "FiniteLivedIntangibleLiabilitiesAccumulatedAmortization", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilitiesNet": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liabilities, Net", "label": "Finite-Lived Intangible Liabilities, Net", "negatedTotalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleLiabilitiesNet", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilityExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 6.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liability, Expected Amortization, after Year Four", "label": "Finite-Lived Intangible Liability, Expected Amortization, after Year Four", "negatedTerseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleLiabilityExpectedAmortizationAfterYearFour", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilityExpectedAmortizationRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 1.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liability, Expected Amortization, Remainder of Fiscal Year", "label": "Finite-Lived Intangible Liability, Expected Amortization, Remainder of Fiscal Year", "negatedTerseLabel": "Year 1" } } }, "localname": "FiniteLivedIntangibleLiabilityExpectedAmortizationRemainderOfFiscalYear", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilityExpectedAmortizationYearFour": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 5.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liability, Expected Amortization, Year Four", "label": "Finite-Lived Intangible Liability, Expected Amortization, Year Four", "negatedLabel": "Year 5" } } }, "localname": "FiniteLivedIntangibleLiabilityExpectedAmortizationYearFour", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilityExpectedAmortizationYearOne": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 2.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liability, Expected Amortization, Year One", "label": "Finite-Lived Intangible Liability, Expected Amortization, Year One", "negatedTerseLabel": "Year 2" } } }, "localname": "FiniteLivedIntangibleLiabilityExpectedAmortizationYearOne", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilityExpectedAmortizationYearThree": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 4.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liability, Expected Amortization, Year Three", "label": "Finite-Lived Intangible Liability, Expected Amortization, Year Three", "negatedTerseLabel": "Year 4" } } }, "localname": "FiniteLivedIntangibleLiabilityExpectedAmortizationYearThree", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_FiniteLivedIntangibleLiabilityExpectedAmortizationYearTwo": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 3.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Liability, Expected Amortization, Year Two", "label": "Finite-Lived Intangible Liability, Expected Amortization, Year Two", "negatedLabel": "Year 3" } } }, "localname": "FiniteLivedIntangibleLiabilityExpectedAmortizationYearTwo", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_IncreaseDecreaseInPrepaidExpenseAndOtherCurrentAssets": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Increase (Decrease) in Prepaid Expense and Other Current Assets", "label": "Increase (Decrease) in Prepaid Expense and Other Current Assets", "negatedTerseLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidExpenseAndOtherCurrentAssets", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "tgen_InstallationServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Installation Services [Member]", "label": "Installation Services [Member]", "terseLabel": "Installation services" } } }, "localname": "InstallationServicesMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "tgen_IntangibleAssetsMeasurementInput": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible Assets, Measurement Input", "label": "Intangible Assets, Measurement Input", "terseLabel": "Intangible Assets, Measurement Input" } } }, "localname": "IntangibleAssetsMeasurementInput", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "percentItemType" }, "tgen_IntangibleLiabilitiesNet": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Intangible Liabilities, Net", "label": "Intangible Liabilities, Net", "totalLabel": "Unfavorable contract liability, net" } } }, "localname": "IntangibleLiabilitiesNet", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_IntangibleLiabilityGross": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails": { "order": 1.0, "parentTag": "tgen_IntangibleLiabilitiesNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Intangible Liability, Gross", "label": "Intangible Liability, Gross", "terseLabel": "Unfavorable contract liability" } } }, "localname": "IntangibleLiabilityGross", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_InterestandOtherIncomeExpense": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_InterestIncomeExpenseNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Interest and Other Income (Expense)", "label": "Interest and Other Income (Expense)", "terseLabel": "Interest and other income (expense), net" } } }, "localname": "InterestandOtherIncomeExpense", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "tgen_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "tgen_LesseeOperatingLeaseSquareFeet": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Square Feet", "label": "Lessee, Operating Lease, Square Feet", "terseLabel": "Square feet of lease" } } }, "localname": "LesseeOperatingLeaseSquareFeet", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "integerItemType" }, "tgen_MaintenanceServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maintenance Services [Member]", "label": "Maintenance Services [Member]", "terseLabel": "Maintenance services" } } }, "localname": "MaintenanceServicesMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "tgen_MeasurementInputWACCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement Input, WACC", "label": "Measurement Input, WACC [Member]", "terseLabel": "Measurement Input, WACC" } } }, "localname": "MeasurementInputWACCMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "domainItemType" }, "tgen_NonContractRelatedIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non-contract Related Intangible Assets", "label": "Non-contract Related Intangible Assets [Member]", "terseLabel": "Non-contract Related Intangible Assets" } } }, "localname": "NonContractRelatedIntangibleAssetsMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "domainItemType" }, "tgen_NonContractRelatedIntangiblesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non-contract Related Intangibles", "label": "Non-contract Related Intangibles [Abstract]", "terseLabel": "Non-contract Related Intangibles [Abstract]" } } }, "localname": "NonContractRelatedIntangiblesAbstract", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "stringItemType" }, "tgen_NonqualifiedOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Nonqualified Options", "label": "Nonqualified Options [Member]", "terseLabel": "Nonqualified Options" } } }, "localname": "NonqualifiedOptionsMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "tgen_NumberOfAssetsAcquired": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of Assets Acquired", "label": "Number of Assets Acquired", "terseLabel": "Assets acquired" } } }, "localname": "NumberOfAssetsAcquired", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "integerItemType" }, "tgen_NumberOfEmployeesAcquired": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of Employees Acquired", "label": "Number of Employees Acquired", "terseLabel": "Employees acquired" } } }, "localname": "NumberOfEmployeesAcquired", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "integerItemType" }, "tgen_NumberofEnergyProducingSitesSold": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of Energy Producing Sites Sold", "label": "Number of Energy Producing Sites Sold", "terseLabel": "Number of energy producing sites sold" } } }, "localname": "NumberofEnergyProducingSitesSold", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairmentDetails" ], "xbrltype": "integerItemType" }, "tgen_NumberofSalesofEnergyProducingAssets": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of Sales of Energy Producing Assets", "label": "Number of Sales of Energy Producing Assets", "terseLabel": "Number of sales of energy producing assets" } } }, "localname": "NumberofSalesofEnergyProducingAssets", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairmentDetails" ], "xbrltype": "integerItemType" }, "tgen_PPPLoanProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "PPP Loan Program", "label": "PPP Loan Program [Member]", "terseLabel": "PPP Loan Program" } } }, "localname": "PPPLoanProgramMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "domainItemType" }, "tgen_PaymentTermonContractuallyDeterminedMilestones": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Payment Term on Contractually Determined Milestones", "label": "Payment Term on Contractually Determined Milestones", "terseLabel": "Payment term on contractually determined milestones" } } }, "localname": "PaymentTermonContractuallyDeterminedMilestones", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "tgen_PaymentTermonEnergyProductionContractInvoices": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Payment Term on Energy Production Contract Invoices", "label": "Payment Term on Energy Production Contract Invoices", "terseLabel": "Payment term on energy production contract invoices" } } }, "localname": "PaymentTermonEnergyProductionContractInvoices", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "tgen_PaymentTermonProductSales": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Payment Term on Product Sales", "label": "Payment Term on Product Sales", "terseLabel": "Payment term on product sales" } } }, "localname": "PaymentTermonProductSales", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "tgen_PaymentsForAssetAcquisitions": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 2.0, "parentTag": "us-gaap_AssetAcquisitionConsiderationTransferred", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments for Asset Acquisitions", "label": "Payments for Asset Acquisitions", "terseLabel": "Cash" } } }, "localname": "PaymentsForAssetAcquisitions", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "tgen_PaymentstoNoncontrollingInterestsInvestingActivities": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments to Noncontrolling Interests, Investing Activities", "label": "Payments to Noncontrolling Interests, Investing Activities", "negatedLabel": "Distributions to non-controlling interest" } } }, "localname": "PaymentstoNoncontrollingInterestsInvestingActivities", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "tgen_PercentageOfOwnedJointVenture": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage Of Owned Joint Venture.", "label": "Percentage Of Owned Joint Venture", "terseLabel": "Ownerhsip interest in American DG New York, LLC (percent)" } } }, "localname": "PercentageOfOwnedJointVenture", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "tgen_PerformanceObligationRecognizedinYearTwoPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Obligation Recognized in Year Two, Percent", "label": "Performance Obligation Recognized in Year Two, Percent", "terseLabel": "Performance obligation revenue to be recognized over the subsequent 12 months (percent)" } } }, "localname": "PerformanceObligationRecognizedinYearTwoPercent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "tgen_PerformanceObligationRecognizedoverNextTwelveMonthsPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Obligation Recognized over Next Twelve Months, Percent", "label": "Performance Obligation Recognized over Next Twelve Months, Percent", "terseLabel": "Performance obligation revenue to be recognized in first 12 months (percent)" } } }, "localname": "PerformanceObligationRecognizedoverNextTwelveMonthsPercent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "tgen_PerformanceObligationRecognizedoverNextTwoYearsPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Obligation Recognized over Next Two Years, Percent", "label": "Performance Obligation Recognized over Next Two Years, Percent", "terseLabel": "Performance obligation revenue expected to be recognized over the next 24 months (percent)" } } }, "localname": "PerformanceObligationRecognizedoverNextTwoYearsPercent", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "tgen_PrinciplesOfConsolidationAndBasisOfPresentationPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for principles of consolidation and basis of presentation.", "label": "Principles Of Consolidation and Basis Of Presentation [Policy Text Block]", "terseLabel": "Principles of Consolidation and Basis of Presentation" } } }, "localname": "PrinciplesOfConsolidationAndBasisOfPresentationPolicyTextBlock", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationPolicies" ], "xbrltype": "textBlockItemType" }, "tgen_ProductCertificationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product Certification [Member]", "label": "Product Certification [Member]", "terseLabel": "Product Certifications" } } }, "localname": "ProductCertificationMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "tgen_ProductsSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Products Segment", "label": "Products Segment [Member]", "terseLabel": "Products" } } }, "localname": "ProductsSegmentMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "tgen_PropertyPlantAndEquipmentNetBeforePublicUtilitiesContructionWorkInProgress": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Property, Plant And Equipment, Net, Before Public Utilities Contruction Work In Progress", "label": "Property, Plant And Equipment, Net, Before Public Utilities, Contruction Work In Progress", "totalLabel": "Property and equipment, net, before construction in progress" } } }, "localname": "PropertyPlantAndEquipmentNetBeforePublicUtilitiesContructionWorkInProgress", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "tgen_ServicesSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Services Segment", "label": "Services Segment [Member]", "terseLabel": "Maintenance services" } } }, "localname": "ServicesSegmentMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "tgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancellationsAndForfeituresInPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period", "negatedTerseLabel": "Canceled and forfeited (shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancellationsAndForfeituresInPeriod", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "tgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancellationsAndForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period, Weighted Average Exercise Price", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancellations and Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Canceled and forfeited (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancellationsAndForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "tgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedInPeriodExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Granted in Period, Exercise Price", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Granted in Period, Exercise Price", "terseLabel": "Exercise price per share, Granted (dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedInPeriodExercisePrice", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "tgen_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsCancelledandForfeitedinPeriodExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancelled and Forfeited in Period, Exercise Price", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Cancelled and Forfeited in Period, Exercise Price", "terseLabel": "Exercise Price, Canceled and Forfeited (dollars per share)" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsCancelledandForfeitedinPeriodExercisePrice", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "tgen_TTcogenIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "TTcogen Intangible Assets [Member]", "label": "TTcogen Intangible Assets [Member]", "terseLabel": "TTcogen Intangible Assets" } } }, "localname": "TTcogenIntangibleAssetsMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "tgen_WebsterBusinessCreditCorporationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Webster Business Credit Corporation [Member]", "label": "Webster Business Credit Corporation [Member]", "terseLabel": "Webster Business Credit Corporation" } } }, "localname": "WebsterBusinessCreditCorporationMember", "nsuri": "http://www.tecogen.com/20230630", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r14", "r577" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r227", "r228" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r45", "r139", "r446" ], "calculation": { "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails": { "order": 2.0, "parentTag": "tgen_PropertyPlantAndEquipmentNetBeforePublicUtilitiesContructionWorkInProgress", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedTerseLabel": "Less - accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r73", "r577", "r688" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r359", "r360", "r361", "r481", "r610", "r611", "r612", "r669", "r690" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r51", "r52", "r330" ], "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": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "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 loss to net cash provided by (used in) operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r4", "r39", "r44" ], "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 intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r189" ], "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 shares underlying stock options outstanding" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r30" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r30" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetAcquisitionAxis": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "documentation": "Information by asset acquisition.", "label": "Asset Acquisition [Axis]", "terseLabel": "Asset Acquisition [Axis]" } } }, "localname": "AssetAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetAcquisitionConsiderationTransferred": { "auth_ref": [ "r573", "r666", "r667", "r668" ], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred in asset acquisition. Includes, but is not limited to, cash, liability incurred by acquirer, and equity interest issued by acquirer.", "label": "Asset Acquisition, Consideration Transferred", "terseLabel": "Total fair value of consideration transferred", "totalLabel": "Total fair value of consideration transferred" } } }, "localname": "AssetAcquisitionConsiderationTransferred", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetAcquisitionConsiderationTransferredContingentConsideration": { "auth_ref": [ "r666", "r667", "r668" ], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 4.0, "parentTag": "us-gaap_AssetAcquisitionConsiderationTransferred", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of contingent consideration recognized as part of consideration transferred in asset acquisition.", "label": "Asset Acquisition, Consideration Transferred, Contingent Consideration", "terseLabel": "Contingent consideration" } } }, "localname": "AssetAcquisitionConsiderationTransferredContingentConsideration", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetAcquisitionConsiderationTransferredOtherAssets": { "auth_ref": [ "r666", "r667", "r668" ], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 3.0, "parentTag": "us-gaap_AssetAcquisitionConsiderationTransferred", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tangible and intangible assets included as part of consideration transferred in asset acquisition, classified as other. Excludes cash.", "label": "Asset Acquisition, Consideration Transferred, Other Assets", "terseLabel": "Accounts receivable credit issued" } } }, "localname": "AssetAcquisitionConsiderationTransferredOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetAcquisitionDomain": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "documentation": "Asset acquisition.", "label": "Asset Acquisition [Domain]", "terseLabel": "Asset Acquisition [Domain]" } } }, "localname": "AssetAcquisitionDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails", "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetAcquisitionLineItems": { "auth_ref": [ "r665" ], "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": "Asset Acquisition [Line Items]", "terseLabel": "Asset Acquisition [Line Items]" } } }, "localname": "AssetAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetAcquisitionTable": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset acquisition.", "label": "Asset Acquisition [Table]", "terseLabel": "Asset Acquisition [Table]" } } }, "localname": "AssetAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetAcquisitionTableTextBlock": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of asset acquisition.", "label": "Asset Acquisition [Table Text Block]", "terseLabel": "Asset Acquisition" } } }, "localname": "AssetAcquisitionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Assets": { "auth_ref": [ "r111", "r143", "r165", "r198", "r213", "r219", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r376", "r380", "r401", "r440", "r505", "r577", "r590", "r631", "r632", "r676" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "terseLabel": "Assets", "totalLabel": "TOTAL ASSETS" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r135", "r145", "r165", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r376", "r380", "r401", "r577", "r631", "r632", "r676" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r64" ], "calculation": { "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "totalLabel": "Assets, Fair Value Disclosure" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r229", "r235", "r436", "r617" ], "calculation": { "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale", "periodEndLabel": "Fair value, ending", "periodStartLabel": "Fair value, beginning", "terseLabel": "Available-for-sale equity securities" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r373", "r570", "r571" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r53", "r54", "r373", "r570", "r571" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [ "r373" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Business Acquisition [Line Items]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "auth_ref": [ "r371", "r372" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "terseLabel": "Net income (loss)" } } }, "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "auth_ref": [ "r371", "r372" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.", "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Total revenues" } } }, "localname": "BusinessAcquisitionsProFormaRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r1", "r59" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Current", "terseLabel": "Acquisition liabilities, current" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "auth_ref": [ "r1", "r59" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Noncurrent", "terseLabel": "Acquisition liabilities, net of current portion" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r106", "r374" ], "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": "Aegis Contract and Related Asset Acquisition" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisition" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities": { "auth_ref": [ "r55", "r56" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of financial liabilities assumed (as defined) which have been recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Financial Liabilities", "terseLabel": "Unfavorable contract liability, net of current portion" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r28", "r137", "r545" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r28", "r89", "r163" ], "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 the period", "periodStartLabel": "Cash and cash equivalents, beginning of the period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r2", "r89" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "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": "Change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r21", "r66", "r441", "r492" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "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 (Note 12)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsContingenciesAndGuaranteesTextBlock": { "auth_ref": [ "r99", "r100", "r624" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments, contingencies, and guarantees.", "label": "Commitments Contingencies and Guarantees [Text Block]", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsContingenciesAndGuaranteesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/Commitmentsandcontingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Shares of common stock reserved for future issuance" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r580", "r581", "r582", "r584", "r585", "r586", "r587", "r610", "r611", "r669", "r687", "r690" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r72", "r493" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r6", "r72", "r493", "r511", "r690", "r691" ], "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 stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r72", "r442", "r577" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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 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, $0.001 par value; 100,000,000 shares authorized; 24,850,261 and 24,850,261 issued and outstanding at June 30,2021 and December 31, 2020, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r544", "r621", "r622" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]", "terseLabel": "Computer software" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractBasedIntangibleAssetsMember": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "Right received from contract, including, but not limited to, advertising contract, broadcast rights, franchise agreement, lease agreement, licensing agreement, and use rights.", "label": "Contract-Based Intangible Assets [Member]", "terseLabel": "Favorable contract asset" } } }, "localname": "ContractBasedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r305", "r306", "r318" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration 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, after Allowance for Credit Loss, Current", "terseLabel": "Unbilled revenue" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "auth_ref": [ "r313" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price.", "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "terseLabel": "Revenue billed this period that had been recognized in previous periods" } } }, "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractualObligation": { "auth_ref": [ "r609" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of contractual obligation, including, but not limited to, long-term debt, lease obligation, purchase obligation, and other commitments.", "label": "Contractual Obligation", "terseLabel": "Obligation under energy production contracts" } } }, "localname": "ContractualObligation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateAndOtherMember": { "auth_ref": [ "r615" ], "lang": { "en-us": { "role": { "documentation": "Component of an entity that provides financial and operational oversight and administrative support for other segments and other segments not separately reported due to size or nature of business activities. Excludes intersegment elimination and reconciling items.", "label": "Corporate and Other [Member]", "terseLabel": "Corporate, other and elimination" } } }, "localname": "CorporateAndOtherMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r85", "r432" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Total cost of sales" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r598", "r608", "r664" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_ProfitLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "Provision for state income taxes" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerContractsMember": { "auth_ref": [ "r58" ], "lang": { "en-us": { "role": { "documentation": "Entity's established relationships with its customers through contracts.", "label": "Customer Contracts [Member]", "terseLabel": "Customer Contracts" } } }, "localname": "CustomerContractsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]", "terseLabel": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r101", "r164", "r278", "r284", "r285", "r286", "r287", "r288", "r289", "r294", "r301", "r302", "r303" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Notes Payable" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r12", "r69", "r70", "r112", "r113", "r166", "r279", "r280", "r281", "r282", "r283", "r285", "r290", "r291", "r292", "r293", "r295", "r296", "r297", "r298", "r299", "r300", "r409", "r554", "r555", "r556", "r557", "r558", "r606" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]", "terseLabel": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentDecreaseForgiveness": { "auth_ref": [ "r606" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Decrease for amounts of indebtedness forgiven by the holder of the debt instrument.", "label": "Debt Instrument, Decrease, Forgiveness", "terseLabel": "Principal amount forgiven" } } }, "localname": "DebtInstrumentDecreaseForgiveness", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r19", "r166", "r279", "r280", "r281", "r282", "r283", "r285", "r290", "r291", "r292", "r293", "r295", "r296", "r297", "r298", "r299", "r300", "r409", "r554", "r555", "r556", "r557", "r558", "r606" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": { "auth_ref": [ "r230" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 6.0, "parentTag": "us-gaap_InterestIncomeExpenseNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Realized Gain", "negatedTerseLabel": "Debt Securities, Available-for-sale, Realized Gain", "terseLabel": "Gain on sale" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedGain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r599" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenue, current" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueNoncurrent": { "auth_ref": [ "r600" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Deferred Revenue, Noncurrent", "terseLabel": "Deferred revenue, net of current portion" } } }, "localname": "DeferredRevenueNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "terseLabel": "Deferred revenue recognized" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r4", "r203" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization, net" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r107" ], "lang": { "en-us": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Developed Technology" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DilutiveSecuritiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]", "terseLabel": "Effect of dilutive securities:" } } }, "localname": "DilutiveSecuritiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r317", "r560", "r561", "r562", "r563", "r564", "r565", "r566" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r317", "r560", "r561", "r562", "r563", "r564", "r565", "r566" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r636" ], "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": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Discontinued Operations and Disposal Groups [Abstract]", "terseLabel": "Discontinued Operations and Disposal Groups [Abstract]" } } }, "localname": "DiscontinuedOperationsAndDisposalGroupsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock": { "auth_ref": [ "r68", "r97" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.", "label": "Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]", "terseLabel": "Sale of Energy Producing Assets and Goodwill Impairment" } } }, "localname": "DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairment" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r156", "r172", "r173", "r174", "r175", "r176", "r182", "r184", "r186", "r187", "r188", "r192", "r389", "r390", "r437", "r452", "r549" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Net income (loss) per share - basic (in USD per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r156", "r172", "r173", "r174", "r175", "r176", "r184", "r186", "r187", "r188", "r192", "r389", "r390", "r437", "r452", "r549" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Net income (loss) per share - diluted (in usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r181", "r189", "r190", "r191" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Income (Loss) Per Common Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IncomeLossPerCommonShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r358" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Compensation cost not yet recognized, amount" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r358" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Compensation cost not yet recognized, period for recognition" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Stock Options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails", "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EnergyEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Assets used in the production and distribution of energy from the producer to the consumer.", "label": "Energy Equipment [Member]", "terseLabel": "Energy systems" } } }, "localname": "EnergyEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EnergyServiceMember": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "documentation": "Energy provided from operation of on-site facility or cogeneration plant and by procurement service to energy purchaser.", "label": "Energy Service [Member]", "terseLabel": "Energy production" } } }, "localname": "EnergyServiceMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]", "terseLabel": "Stockholders\u2019 equity:" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r6", "r131", "r152", "r153", "r154", "r167", "r168", "r169", "r171", "r177", "r179", "r193", "r232", "r233", "r304", "r359", "r360", "r361", "r369", "r370", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r402", "r403", "r404", "r405", "r406", "r407", "r422", "r471", "r472", "r473", "r481", "r531" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "auth_ref": [ "r292", "r400", "r555", "r556" ], "lang": { "en-us": { "role": { "documentation": "Measured as an estimate of fair value.", "label": "Estimate of Fair Value Measurement [Member]", "terseLabel": "Estimate of Fair Value Measurement" } } }, "localname": "EstimateOfFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ExtinguishmentOfDebtAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount of debt extinguished.", "label": "Extinguishment of Debt, Amount", "terseLabel": "Extinguishment of debt, amount" } } }, "localname": "ExtinguishmentOfDebtAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r392", "r393", "r397" ], "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, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r392", "r393", "r397" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarningsTextBlock": { "auth_ref": [ "r109", "r110" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of gains or losses for the period included in earnings or resulted in a change to net assets, have arisen from the use of significant unobservable inputs (level 3) to measure the fair value of assets, liabilities, and financial instruments classified in shareholders' equity.", "label": "Fair Value, Measured on Recurring Basis, Gain (Loss) Included in Earnings [Table Text Block]", "terseLabel": "Schedule of Fair Value, Measured on Recurring Basis, Gain (Loss) Included in Earnings" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarningsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r292", "r321", "r322", "r323", "r324", "r325", "r326", "r393", "r426", "r427", "r428", "r555", "r556", "r567", "r568", "r569" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementBasisAxis": { "auth_ref": [ "r10", "r64", "r292", "r555", "r556" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement basis.", "label": "Measurement Basis [Axis]", "terseLabel": "Measurement Basis [Axis]" } } }, "localname": "FairValueByMeasurementBasisAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r392", "r393", "r395", "r396", "r398" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosureItemAmountsDomain": { "auth_ref": [ "r292", "r555", "r556" ], "lang": { "en-us": { "role": { "documentation": "Measurement basis, for example, but not limited to, reported value, fair value, portion at fair value, portion at other than fair value.", "label": "Fair Value Measurement [Domain]", "terseLabel": "Fair Value Measurement [Domain]" } } }, "localname": "FairValueDisclosureItemAmountsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r391" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r292", "r321", "r326", "r393", "r426", "r567", "r568", "r569" ], "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, Level 1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r292", "r321", "r326", "r393", "r427", "r555", "r556", "r567", "r568", "r569" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r292", "r321", "r322", "r323", "r324", "r325", "r326", "r393", "r428", "r555", "r556", "r567", "r568", "r569" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r292", "r321", "r322", "r323", "r324", "r325", "r326", "r426", "r427", "r428", "r555", "r556", "r567", "r568", "r569" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r391", "r398" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Measurements, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r141", "r252" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails": { "order": 2.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedTerseLabel": "Less - accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r95" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "Year 2" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "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 remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "Year 1" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r95" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 8.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "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 Asset, Expected Amortization, Year Four", "terseLabel": "Year 5" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r95" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "order": 7.0, "parentTag": "tgen_FiniteLivedIntangibleLiabilitiesNet", "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 Asset, Expected Amortization, Year Three", "terseLabel": "Year 4" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r95" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "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 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 Asset, Expected Amortization, Year Two", "terseLabel": "Year 3" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r248", "r251", "r252", "r254", "r433", "r434" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r40", "r43" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r94", "r433" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails": { "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", "terseLabel": "Intangible assets, net", "totalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinitelivedIntangibleAssetsAcquired1": { "auth_ref": [ "r249" ], "calculation": { "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails": { "order": 3.0, "parentTag": "tgen_AssetAcquisitionAssetsAcquired", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.", "label": "Finite-Lived Intangible Assets Acquired", "terseLabel": "Identifiable intangible asset - customer contracts" } } }, "localname": "FinitelivedIntangibleAssetsAcquired1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnContractTermination": { "auth_ref": [ "r91" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_SellingGeneralAndAdministrativeExpense", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Gain (loss) related to the termination of a contract between the parties. The termination may be due to many causes including early termination of a lease by a lessee, a breach of contract by one party, or a failure to perform.", "label": "Gain (Loss) on Contract Termination", "negatedLabel": "Gain on termination of unfavorable contract liability", "negatedTerseLabel": "Gain on termination of unfavorable contract liability", "terseLabel": "Gain on termination of unfavorable contract liability" } } }, "localname": "GainLossOnContractTermination", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillDetails", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnDispositionOfAssets1": { "auth_ref": [ "r605" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 5.0, "parentTag": "us-gaap_SellingGeneralAndAdministrativeExpense", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.", "label": "Gain (Loss) on Disposition of Assets", "negatedTerseLabel": "Gain on disposition of assets" } } }, "localname": "GainLossOnDispositionOfAssets1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "auth_ref": [ "r4", "r46", "r47" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_InterestIncomeExpenseNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.", "label": "Gain (Loss) on Extinguishment of Debt", "negatedTerseLabel": "Gain on extinguishment of debt", "terseLabel": "Gain on extinguishment of debt" } } }, "localname": "GainsLossesOnExtinguishmentOfDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r86", "r515" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_SellingGeneralAndAdministrativeExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r140", "r237", "r435", "r553", "r577", "r619", "r620" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r240", "r553" ], "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": "Goodwill" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetImpairment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.", "label": "Goodwill and Intangible Asset Impairment", "terseLabel": "Intangible asset impairment" } } }, "localname": "GoodwillAndIntangibleAssetImpairment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_GranteeStatusAxis": { "auth_ref": [ "r329", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Information by status of recipient to whom award is granted.", "label": "Grantee Status [Axis]", "terseLabel": "Grantee Status [Axis]" } } }, "localname": "GranteeStatusAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GranteeStatusDomain": { "auth_ref": [ "r329", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Status of recipient to whom award is granted.", "label": "Grantee Status [Domain]", "terseLabel": "Grantee Status [Domain]" } } }, "localname": "GranteeStatusDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r84", "r165", "r198", "r212", "r218", "r221", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r401", "r551", "r631" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.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", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GuaranteeObligationsMaximumExposure": { "auth_ref": [ "r264" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum potential amount of future payments (undiscounted) the guarantor could be required to make under the guarantee or each group of similar guarantees before reduction for potential recoveries under recourse or collateralization provisions.", "label": "Guarantor Obligations, Maximum Exposure, Undiscounted", "terseLabel": "Guarantee liability" } } }, "localname": "GuaranteeObligationsMaximumExposure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GuaranteesFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of guarantee, including, but not limited to, financial standby letter of credit, fair value guarantee, guarantee of collection of scheduled contractual cash flows from financial assets, and contracts that contingently require the guarantor to make payments or perform services.", "label": "Guarantees, Fair Value Disclosure", "terseLabel": "Guarantee of obligations of Eurosite Power, Inc." } } }, "localname": "GuaranteesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": { "auth_ref": [ "r4", "r9" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.", "label": "Impairment of Intangible Assets (Excluding Goodwill)", "terseLabel": "Impairment of intangible asset" } } }, "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InProcessResearchAndDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.", "label": "In Process Research and Development [Member]", "terseLabel": "In Process R&D" } } }, "localname": "InProcessResearchAndDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r81", "r116", "r198", "r212", "r218", "r221", "r438", "r448", "r551" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_ProfitLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "terseLabel": "Loss before provision for state income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r151", "r363", "r364", "r365", "r366", "r367", "r368", "r477" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r27", "r29" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Income Taxes Paid", "terseLabel": "Cash paid for taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 17.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", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses and other current liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r604" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 10.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, Asset", "negatedLabel": "Unbilled revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r431", "r604" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.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": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.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", "negatedTerseLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Assets [Abstract]", "terseLabel": "Changes in operating assets and liabilities" } } }, "localname": "IncreaseDecreaseInOperatingAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "auth_ref": [ "r604" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in current liabilities classified as other.", "label": "Increase (Decrease) in Other Current Liabilities", "terseLabel": "Other liabilities" } } }, "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 11.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 assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherReceivables": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 20.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in receivables classified as other.", "label": "Increase (Decrease) in Other Receivables", "negatedTerseLabel": "Employee retention credit receivable" } } }, "localname": "IncreaseDecreaseInOtherReceivables", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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 [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r250", "r253" ], "lang": { "en-us": { "role": { "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.", "label": "Indefinite-Lived Intangible Assets [Axis]", "terseLabel": "Indefinite-lived Intangible Assets [Axis]" } } }, "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r41", "r96" ], "lang": { "en-us": { "role": { "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company.", "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r247" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets and Liabilities Other Than Goodwill" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwill" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsGrossExcludingGoodwill": { "auth_ref": [ "r140" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill.", "label": "Intangible Assets, Gross (Excluding Goodwill)", "terseLabel": "Intangible assets" } } }, "localname": "IntangibleAssetsGrossExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r38", "r42" ], "calculation": { "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "totalLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r65", "r119", "r155", "r202", "r408", "r516", "r588", "r689" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_InterestIncomeExpenseNet", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "negatedTerseLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r118" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "totalLabel": "Total other income (expense), net" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeOther": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of interest income earned from interest bearing assets classified as other.", "label": "Interest Income, Other", "terseLabel": "Accrued interest received" } } }, "localname": "InterestIncomeOther", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r158", "r161", "r162" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntersegmentEliminationMember": { "auth_ref": [ "r200", "r211", "r212", "r213", "r214", "r215", "r217", "r221" ], "lang": { "en-us": { "role": { "documentation": "Eliminating entries used in operating segment consolidation.", "label": "Intersegment Eliminations [Member]", "terseLabel": "Intersegment Eliminations" } } }, "localname": "IntersegmentEliminationMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r236" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories, net" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/Inventoriesnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r93", "r547" ], "calculation": { "http://www.tecogen.com/role/InventoryDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r144", "r546", "r577" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.tecogen.com/role/InventoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories, net", "totalLabel": "Inventories, net" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r601" ], "calculation": { "http://www.tecogen.com/role/InventoryDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials, net" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r93", "r548" ], "calculation": { "http://www.tecogen.com/role/InventoryDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r416", "r576" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "terseLabel": "Lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r674" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Supplemental Information Related to Leases" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r98" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [ "r415" ], "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]", "terseLabel": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "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]", "terseLabel": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r675" ], "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, to be Paid, Maturity [Table Text Block]", "terseLabel": "Future Minimum Lease Commitments" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r421" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "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, to be Paid", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r421" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "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, to be Paid, Year One", "terseLabel": "Year 2" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r421" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "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 fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "Year 5" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r421" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "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 third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "Year 4" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r421" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "Year 3" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r675" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails_1": { "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, to be Paid, Remainder of Fiscal Year", "terseLabel": "Year 1" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r421" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails": { "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 payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "terseLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Remaining Lease Term", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r410" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r16", "r165", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r377", "r380", "r381", "r401", "r491", "r550", "r590", "r631", "r676", "r677" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r77", "r115", "r445", "r577", "r607", "r618", "r671" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r18", "r136", "r165", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r377", "r380", "r381", "r401", "r577", "r631", "r676", "r677" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Noncurrent [Abstract]", "terseLabel": "Long-term liabilities:" } } }, "localname": "LiabilitiesNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r15", "r606" ], "lang": { "en-us": { "role": { "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.", "label": "Lender Name [Axis]", "terseLabel": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r15", "r606" ], "lang": { "en-us": { "role": { "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.", "label": "Line of Credit Facility, Lender [Domain]", "terseLabel": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [ "r606" ], "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": "Line of Credit Facility [Line Items]", "terseLabel": "Line of Credit Facility [Line Items]" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r15", "r606" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.", "label": "Line of Credit Facility [Table]", "terseLabel": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesLineItems": { "auth_ref": [ "r258", "r259", "r260", "r263", "r626", "r627" ], "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": "Loss Contingencies [Line Items]" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r258", "r259", "r260", "r263", "r626", "r627" ], "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]", "terseLabel": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyDamagesSoughtValue": { "auth_ref": [ "r625", "r626", "r627" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.", "label": "Loss Contingency, Damages Sought, Value", "terseLabel": "Damages sought" } } }, "localname": "LossContingencyDamagesSoughtValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CommitmentsandContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MachineryAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and Equipment [Member]", "terseLabel": "Machinery and equipment" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MarketableSecuritiesUnrealizedGainLoss": { "auth_ref": [ "r83" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrealized gain (loss) on investment in marketable security.", "label": "Marketable Security, Unrealized Gain (Loss)", "terseLabel": "Unrealized gain (loss)" } } }, "localname": "MarketableSecuritiesUnrealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsChangeinLevel2AssetsDetails", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MeasurementInputDiscountRateMember": { "auth_ref": [ "r670" ], "lang": { "en-us": { "role": { "documentation": "Measurement input using interest rate to determine present value of future cash flows.", "label": "Measurement Input, Discount Rate [Member]", "terseLabel": "Measurement Input, Discount Rate" } } }, "localname": "MeasurementInputDiscountRateMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputTypeAxis": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Information by type of measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Axis]", "terseLabel": "Measurement Input Type [Axis]" } } }, "localname": "MeasurementInputTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MeasurementInputTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Domain]", "terseLabel": "Measurement Input Type [Domain]" } } }, "localname": "MeasurementInputTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/AegisContractandRelatedAssetAcquisitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MinorityInterest": { "auth_ref": [ "r24", "r114", "r165", "r231", "r265", "r268", "r269", "r270", "r276", "r277", "r401", "r444", "r495" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.", "label": "Equity, Attributable to Noncontrolling Interest", "terseLabel": "Non-controlling interest" } } }, "localname": "MinorityInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": { "auth_ref": [ "r103" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.", "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders", "negatedTerseLabel": "Distributions to Noncontrolling interests" } } }, "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r120", "r129" ], "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": "Description of business and basis of presentation" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/Descriptionofbusinessandbasisofpresentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r160" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "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 financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r160" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r89", "r90", "r91" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "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 (used in) operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r82", "r91", "r117", "r134", "r149", "r150", "r154", "r165", "r170", "r172", "r173", "r174", "r175", "r178", "r179", "r185", "r198", "r212", "r218", "r221", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r390", "r401", "r451", "r513", "r529", "r530", "r551", "r588", "r631" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "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)", "terseLabel": "Net loss available to stockholders", "totalLabel": "Net loss attributable to Tecogen Inc." } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": { "auth_ref": [ "r63", "r108", "r149", "r150", "r178", "r179", "r450", "r603" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.", "label": "Net Income (Loss) Attributable to Noncontrolling Interest", "negatedLabel": "Net income", "negatedTerseLabel": "Income attributable to the non-controlling interest" } } }, "localname": "NetIncomeLossAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_NoncontrollingInterestMember": { "auth_ref": [ "r60", "r304", "r610", "r611", "r612", "r690" ], "lang": { "en-us": { "role": { "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.", "label": "Noncontrolling Interest [Member]", "terseLabel": "Noncontrolling Interest" } } }, "localname": "NoncontrollingInterestMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_NotesPayableToBank": { "auth_ref": [ "r12", "r113", "r685" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Including the current and noncurrent portions, the carrying value as of the balance sheet date of notes payable to banks, excluding mortgage notes, initially due beyond one year or beyond the operating cycle if longer.", "label": "Notes Payable to Bank", "terseLabel": "Notes payable" } } }, "localname": "NotesPayableToBank", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/NotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r616" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "Number of Operating Segments", "terseLabel": "Number of operating divisions", "verboseLabel": "Number of business segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r198", "r212", "r218", "r221", "r551" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "Loss from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r672" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Rent expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r412" ], "calculation": { "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails": { "order": 2.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": "Total" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails", "http://www.tecogen.com/role/LeasesFutureMinimumLeaseCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r412" ], "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": "Operating Lease, Liability, Current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r413" ], "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 Enumeration]", "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r412" ], "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": "Operating Lease, Liability, Noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r413" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability.", "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]" } } }, "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r414", "r417" ], "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 operating lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r411" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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": "Right of use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/LeasesAssetsandLiabilitiesLesseeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r420", "r576" ], "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 - operating leases (percent)" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r419", "r576" ], "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 - operating leases" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r211", "r212", "r213", "r214", "r215", "r221" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r142" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "auth_ref": [ "r146", "r147", "r148" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_InterestIncomeExpenseNet", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax", "negatedLabel": "Unrealized gain on investment securities", "terseLabel": "Unrealized gain (loss) on investment securities" } } }, "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIncomeAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Income and Expenses [Abstract]", "terseLabel": "Other income (expense)" } } }, "localname": "OtherIncomeAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r17", "r577" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.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": "Lease obligations, current" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r20" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.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": "Lease obligations, net of current portion" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r107" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.", "label": "Patents [Member]", "terseLabel": "Patents" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForLeasingCostsCommissionsAndTenantImprovements": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Net cash outflow for the allowance granted to lessee and/or direct costs incurred by lessor used to prepare the leased premises for tenant's occupancy; for costs that are essential to originating the lease and would not otherwise have been incurred without the lease agreement, including but not limited to, evaluating the lessee's credit condition, guarantees, and collateral and costs incurred in negotiating, processing, and executing the lease agreement; and for any commission(s) incurred.", "label": "Payments for Leasing Costs, Commissions, and Tenant Improvements", "terseLabel": "Lease improvement costs" } } }, "localname": "PaymentsForLeasingCostsCommissionsAndTenantImprovements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r25" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.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", "negatedTerseLabel": "Payment for business acquisition" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "auth_ref": [ "r88" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.", "label": "Payments to Acquire Intangible Assets", "negatedTerseLabel": "Purchases of intangible assets" } } }, "localname": "PaymentsToAcquireIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r88" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "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", "negatedTerseLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "auth_ref": [ "r399" ], "lang": { "en-us": { "role": { "documentation": "Measured at fair value for financial reporting purposes.", "label": "Portion at Fair Value Measurement [Member]", "terseLabel": "Portion at Fair Value Measurement [Member]" } } }, "localname": "PortionAtFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r602" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.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 and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromNotesPayable": { "auth_ref": [ "r26" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation.", "label": "Proceeds from Notes Payable", "terseLabel": "Proceeds from note payable" } } }, "localname": "ProceedsFromNotesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfOtherProductiveAssets": { "auth_ref": [ "r87" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from the sale of tangible or intangible assets used to produce goods or deliver services, classified as other.", "label": "Proceeds from Sale of Other Productive Assets", "terseLabel": "Proceeds from disposition of assets" } } }, "localname": "ProceedsFromSaleOfOtherProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "auth_ref": [ "r87" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets.", "label": "Proceeds from Sale of Productive Assets", "terseLabel": "Consideration received" } } }, "localname": "ProceedsFromSaleOfProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SaleofEnergyProducingAssetsandGoodwillImpairmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductMember": { "auth_ref": [ "r560" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery.", "label": "Product [Member]", "terseLabel": "Products" } } }, "localname": "ProductMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r134", "r149", "r150", "r159", "r165", "r170", "r178", "r179", "r198", "r212", "r218", "r221", "r231", "r265", "r266", "r268", "r269", "r270", "r272", "r274", "r276", "r277", "r375", "r378", "r379", "r390", "r401", "r438", "r449", "r480", "r513", "r529", "r530", "r551", "r574", "r575", "r589", "r603", "r631" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "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": "Consolidated net loss", "totalLabel": "Consolidated net loss", "verboseLabel": "Net income (loss)" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]", "terseLabel": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r5" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r97", "r123", "r127", "r128" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r98", "r138", "r447" ], "calculation": { "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails": { "order": 1.0, "parentTag": "tgen_PropertyPlantAndEquipmentNetBeforePublicUtilitiesContructionWorkInProgress", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r5", "r439", "r447", "r577" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "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, plant and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r5" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Summary of Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r98" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Useful life - years" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r157", "r234" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 19.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": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Provision for doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PublicUtilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of utility plant.", "label": "Public Utility [Axis]", "terseLabel": "Public Utility [Axis]" } } }, "localname": "PublicUtilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r67", "r362", "r684" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 4.0, "parentTag": "us-gaap_SellingGeneralAndAdministrativeExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r74", "r103", "r443", "r474", "r475", "r478", "r494", "r577" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r131", "r167", "r168", "r169", "r171", "r177", "r179", "r232", "r233", "r359", "r360", "r361", "r369", "r370", "r382", "r384", "r385", "r387", "r388", "r471", "r473", "r481", "r690" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r199", "r200", "r211", "r216", "r217", "r223", "r225", "r226", "r316", "r317", "r432" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "netLabel": "Revenue", "terseLabel": "Total revenues", "verboseLabel": "Total revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r130", "r307", "r308", "r309", "r310", "r311", "r312", "r314", "r315", "r319" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/Revenue" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue Recognition [Abstract]", "terseLabel": "Revenue Recognition [Abstract]" } } }, "localname": "RevenueRecognitionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r126" ], "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, Amount", "terseLabel": "Remaining performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r418", "r576" ], "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": "Right-of-use assets obtained in exchange for operating lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r30" ], "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]", "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r53", "r54", "r373" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r614" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of Income (Loss) Per Common Share, Basic and Diluted" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r392", "r393" ], "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": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r40", "r43", "r433" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails", "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r40", "r43" ], "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 Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r13", "r78", "r79", "r80" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r5" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/PropertyPlantandEquipmentSummaryofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r34", "r35", "r36", "r37" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r34", "r35", "r36", "r37" ], "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": "Schedule of Segment Reporting Information" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SegmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r329", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails", "http://www.tecogen.com/role/StockBasedCompensationTables" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r7", "r8", "r49" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r43" ], "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" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r195", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r221", "r226", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r256", "r257", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r553", "r597", "r686" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]", "terseLabel": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r194", "r195", "r196", "r197", "r198", "r210", "r215", "r219", "r220", "r221", "r222", "r223", "r224", "r226" ], "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": "Segments" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/Segments" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingExpense": { "auth_ref": [ "r86" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_SellingGeneralAndAdministrativeExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services.", "label": "Selling Expense", "terseLabel": "Selling" } } }, "localname": "SellingExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r86" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.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", "totalLabel": "Total operating expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ServiceMember": { "auth_ref": [ "r560" ], "lang": { "en-us": { "role": { "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.", "label": "Service [Member]", "terseLabel": "Services" } } }, "localname": "ServiceMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r3" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 12.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 Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation", "verboseLabel": "Share-based Payment Arrangement, Noncash Expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r329", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails", "http://www.tecogen.com/role/StockBasedCompensationTables" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares remaining available for future issuance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r337" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable (shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r337" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r339" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Granted (shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails", "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r48" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Outstanding, Aggregate Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r335", "r336" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Ending (shares)", "periodStartLabel": "Beginning (shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Stock Options Outstanding [Roll Forward]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r335", "r336" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Ending (usd per share)", "periodStartLabel": "Beginning (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price [Roll Forward]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r351" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Vested and expected to vest, Aggregate Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r351" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Vested and expected to vest (shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r351" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Vested and expected to vest (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r339" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit", "terseLabel": "Exercise Price Per Share, Outstanding, Minimum (per share)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit", "terseLabel": "Exercise Price Per Share, Outstanding, Maximum (dollars per share)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedPaymentArrangementEmployeeMember": { "auth_ref": [ "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires.", "label": "Share-Based Payment Arrangement, Employee [Member]", "terseLabel": "Share-based Payment Arrangement, Employee" } } }, "localname": "ShareBasedPaymentArrangementEmployeeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": { "auth_ref": [ "r329", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357" ], "lang": { "en-us": { "role": { "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor does not exercise nor has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Excludes nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires.", "label": "Share-Based Payment Arrangement, Nonemployee [Member]", "terseLabel": "Share-based Payment Arrangement, Nonemployee" } } }, "localname": "ShareBasedPaymentArrangementNonemployeeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "Share Price", "terseLabel": "Price (dollars per share)" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r48" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Exercisable, Aggregate Intrinsic Value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r105" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Life" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "auth_ref": [ "r350" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value", "terseLabel": "Fair value of options" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "auth_ref": [ "r102", "r104" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).", "label": "Shareholders' Equity and Share-Based Payments [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (shares)", "periodStartLabel": "Beginning balance (shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r133", "r195", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r221", "r226", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r255", "r256", "r257", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r553", "r597", "r686" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/RevenueDisaggregationofRevenueDetails", "http://www.tecogen.com/role/SegmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r6", "r23", "r131", "r152", "r153", "r154", "r167", "r168", "r169", "r171", "r177", "r179", "r193", "r232", "r233", "r304", "r359", "r360", "r361", "r369", "r370", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r402", "r403", "r404", "r405", "r406", "r407", "r422", "r471", "r472", "r473", "r481", "r531" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r167", "r168", "r169", "r193", "r432", "r476", "r482", "r485", "r486", "r487", "r488", "r489", "r490", "r493", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r506", "r507", "r508", "r509", "r510", "r512", "r514", "r515", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r531", "r583" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r167", "r168", "r169", "r193", "r432", "r476", "r482", "r485", "r486", "r487", "r488", "r489", "r490", "r493", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r506", "r507", "r508", "r509", "r510", "r512", "r514", "r515", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r531", "r583" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r6", "r71", "r72", "r103", "r340" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "negatedTerseLabel": "Exercised (shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/StockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r72", "r75", "r76", "r92", "r495", "r511", "r532", "r533", "r577", "r590", "r607", "r618", "r671", "r690" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Equity, Attributable to Parent", "totalLabel": "Total Tecogen Inc. stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Tecogen Inc. shareholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r60", "r61", "r62", "r131", "r132", "r153", "r167", "r168", "r169", "r171", "r177", "r232", "r233", "r304", "r359", "r360", "r361", "r369", "r370", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r402", "r403", "r407", "r422", "r472", "r473", "r479", "r495", "r511", "r532", "r533", "r539", "r589", "r607", "r618", "r671", "r690" ], "calculation": { "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.", "label": "Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedBalanceSheets", "http://www.tecogen.com/role/CondensedConsolidatedStatementsofStockholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]", "terseLabel": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r424", "r425" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/SubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of subsidiary's or equity method investee's stock owned by parent immediately after all stock transactions.", "label": "Subsidiary or Equity Method Investee, Cumulative Percentage Ownership after All Transactions", "terseLabel": "Ownership interest (percent)" } } }, "localname": "SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosures of cash flows information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r57" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillAmountsrelatedtointangibleassetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r31", "r32", "r33", "r121", "r122", "r124", "r125" ], "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/2023", "presentation": [ "http://www.tecogen.com/role/DescriptionofbusinessandbasisofpresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_UtilityPlantDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plant owned by a utility entity used in the operations of the entity.", "label": "Utility Plant [Domain]", "terseLabel": "Utility Plant [Domain]" } } }, "localname": "UtilityPlantDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/IntangibleAssetsandLiabilitiesOtherThanGoodwillFutureAmortizationofCustomerContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r614" ], "calculation": { "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment", "terseLabel": "Stock options" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r183", "r188" ], "calculation": { "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails": { "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": "Weighted average shares outstanding - diluted", "totalLabel": "Weighted average shares outstanding - Diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r182", "r188" ], "calculation": { "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average shares outstanding - basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.tecogen.com/role/CondensedConsolidatedStatementsofOperations", "http://www.tecogen.com/role/LossPerCommonShareScheduleofIncomeLossPerCommonShareBasicandDilutedDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 11 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "460", "URI": "https://asc.fasb.org//460/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org//470/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org//505/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "https://asc.fasb.org//805/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r129": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org//280/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org//330/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//350-30/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(3)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482736/825-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//842-20/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481435/852-10-45-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "https://asc.fasb.org//855/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(24))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(16))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(17))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column G))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "40", "SubTopic": "50", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column H))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column I))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column J))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column K))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "40", "SubTopic": "50", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(h)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "50", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479908/805-50-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r591": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r592": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r593": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r594": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(c))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "4I", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r624": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "15", "SubTopic": "50", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147480123/805-50-15-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "50", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147480060/805-50-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "30", "SubTopic": "50", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "30", "SubTopic": "50", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//205-20/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(18))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(i)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(7)(c))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org//360/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 68 0001537435-23-000096-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001537435-23-000096-xbrl.zip M4$L#!!0 ( (Y)"EA??[,* ,5=! D2!; 1:65D__[^O8T]XP6'D!OXO+?E" M:@G_;^?G_Z?=_M_/#]^$ZV"0C+$?"UFKK5=]!PT-:Q[;0U#=MM9-I:V\": M:CN.,42J(3Y?RIHU')@J:EL8RVU-4N2V+9EZV]$&ABH9LH%T+#J7AJ[:>&BK M&NI;FB;;?7OHR'W#L0UEB/K()I\=Q3 _F*,?729Q^$MK%,>3RX\??_SXTD4:(IL;ORB^C&[(W\@B=K/"$UF#PQ1U*N%?^ M^+_?OST.1GB,VJX?Q<@?O#VU\I6%\9"K)57\,>5ESI+ \C>:'Q,+[Y->-/' M975NQO3V2P_YS[^TL-_^];$%(,?(Z?P\QC$2R!O:^(_$??FE=17X,0AO^VDZ M@5$/TM]^:<7X-?Y(6?^Q\W_^S__Y.79C#W<(HMHYFEW[@8QB ^WI);L1A^J/K.-BG/\+U6] @H3M(O_\: M/^#A+ZU!&_CCHS%Y$W8O MC>_@U__!T]EWU%9' ICKJJFI^OX?N4K"$+[PQ8T&R/L7S.6=>9,YS\:@M3JR M\E&5]_]\.3372Z-Y/IXW>GR!OT2S+QFM3ID?2*>]^ FSU?F'LO\'NO!VAW[! M0\^SEUJMSA!Y$:Z84[:Y&Z>^A&A -*F0^&XZFB1RX,N/(Q3F2F0V3#!V#AZX M8YC?+RTU'W-FKRZO@C$,Z3$.!K_?H_ N?(R)"_%/Y"7X[86$%_",-!LGT$NZ M /'*QY#>W7[:,C@XEZB;Q* C=_V)GD?E^,FX[ M0=S.WK8Z9%F20%U(DBBE_W_HR-43CEPN=>2%:7Z7Q,3J.Z[_7'CH8(\43;1T M252,@]%2F.:'C%RM=.0W493L@12MS$&?%"AZ;8%B[#+R]29.61[8W02'X,3[ MS]\PQ!G?7-1W/>*%I6X2UJ_@V$9NWX.GHC@? MG6'!Z+;%4G^Z@T VS#_DXBC[5"%+O6)4RI^&>8)I[,J-V\ ?[#T36RHXD[>O M'84GATU&+F\R'Q>#IA /,=PWP-&:6(_$R)<1#:]AN@*-F2]CB/! (;CCB4?B M4_JW44BHL1#67;Q&#KSBX^([TN^_?30;0Q0D(?V-!L:7&8GI](F#FO\=TU@I M_\UUR.]#%X<"?3]>&[]?W?S/8@RU_' G_]/BVR?4 \Y_ ZT5QL07IH%!6Y+; MQ"E;OC8;IC-WJ]$F,>[BE?SW_",?%^:]G@P* V1(\Q+QFIGE5W:;&;$K=%J9 M7$RLKSY(_7V _&H-#7 MO'97."^\XN/BZ-]%JGYL?F:SP,_$>*6_.O"QUXGG#MSX.Q[WX1...R86C"3X MHS"^O \#)QG$$._B\,4=X.ZK"]*>V\KL:OKHSQ_7OG$V\]F']U#7VNG5M<'9 ML9X=RN[L4,ICAUD_=F1_;*1T6)P=+$F'73]V]'PC*OH@KYJ&%@>C)_ MH@KYJ&%D>F+?NPHIJ6& >F+?NPI9.7J<6@\Z*,Q%AC--G2]N]OY(R$IT,)X$ M/OP:+4)UKC"@?* N+E*I)2V7*$>/^XY,\Z[CT#5FY-TCU[GQK]#$C9%7&_H? M/=X\,OT?<(Q<'SL]%/JN_QS5AO#,!;@%"4^*(6!&8>!Y0/<;F%N(HR,$6T+W[\T:(GF MS*UTLFIRCD-_M>Z1ZZF]^-((7_?PM1HOOC3RUSUZ/96N+[' 5:U[X%J%KB^3 M_LRMQ+*LZ\LD?-WCZ@IT?9GDKWND7%E:HX*%/K7NH7)5:8TJ>%7W@/GT:8TJ MN%3W$/MTKFYIF72M[F%U-:YN>?2O>W1]8E>W/,+7/:ZNQ-4MC_S,;8\M;VIU MCUZK\>*K*<+7>,1;'U[5/3P^L1=?$9?J'A>?T(LO:Y% JWM\6Y$77QK]ZQZY MGMJ++XOP>MW#UVJ\^-+(7_?H]52Z7BYOD4"O>^!:A:XOD_YU7QP^J:XOD_!U MCZLKT/5EDO_HD7)U4ZM[8%E9QJ:"+6QZW>/+JC(V5?"J[G'IZ3,V)^'2K.NA MGY"!;^BB.8$?\Q?LWO=29S86_IQ$P,LHZ@Z YVG;W)3;I/TL.1@A= ?(OWY. MMT,?E]6RV9;TMFSMP.KE6P_J+K1MV]7QR^!4-NR MOHLH+MUZ$'^8ZQ$E[YY$EDOL@9?5<*QZ)Y.[I8SK6 M: X1V2?S2X=^FLSQ*O"CP',=>B+A#8Q@*?*9G4:1#Z>1.VD-YI()3.(O5T,< M?V7CC[D$"9/X2XUA]F%XF@.P- RFZVIR"ZNQS[]VG?D NG(P4LX5X@^4 D?A+BAD-L/>E,0"A^$N,&1N(:%A)KFFL& NO]\P&UE36#"7=F^: MT:HI+IC+AC.Y'',>YJJ"#D@60*QUBI\O1S<'B+7.\O/EZ 8AD;E,/XO+T54PAN>^^0I,]2CDJ7:.PNI1 MR#/['(8,P)"YA82&F>1ZPL)F+K_?,!M94U@PEW9OFM&J*2Z8RX8SN1QS!N:J MFE;>-G-)<";Q=P9VL2+\,9?[9A)_YV" *P(@@&(9&Y3#]SR]$5,8;GOOD*3.4HE"6>:^=*JYDJ02&S*7?><;I'&%8ZQQ\P[--YX3#6B?@:V"5 M:XH+I=;9\!J8R;KB@KG,=-/L5EV!P6Q>O MO<%POB=T7"+$'2>C&+HYZKP,O M<;#S)0S&5\%XDL24@7?#'@I]X%9TC\/'$0KQY^GZ%RRY"N.)%TPQ?HR#P>]W MDQW =2B?JSGC1E:8S3HWE,\5%>HJS.9T&\KG:IJ$R0IS"=.&\[DJ^\Q<^I4X M3P_(?\Z";O+K=]=WQ\FXK#I3X$+O>X +H88RVR*\#SDBMG,&+/D5X!J M;54NA?PJ'P,1C&/U"(;WP@R;/;]W WBO!13/]./B9#PM:,?$0%C*Z;C]>,_,1AC&:( M',%'JF XDDQHS<@RG)X)I4H" ML[F +^!:Q?B;^X*=)343?9Y^1_\)PBL/16L*#J^ =?#M 3K.>N&QI('9?$ - M&%&J1#";$RC$B)DN0W&]K *SZ0!FR5\J^IG-!.Q%_FO\@CTPYLX3'HS\P N> MIP_N\ZA.\L!LQ%XCAI0J(^@X?[,.4I1 X>H_#W&HD%LP$UZUPH4Q9T M9N/HO;EPXX/W.L!1]( CC,+!".*_3&G5:GU19S:ZKB5K2I6:9L3<;TE!/P[1 M(/Z,HM7'ZB,OS8B_JV=*J9+2C%B<)D6>G@8!_+>^ M*,P+PR7I0J%\V(TBDO M;@,_5U8/V$-Q876U\]CNDS[<\6OL>D"QN1'DGZ=? Y_BFXOZ])[ZR&:SD@17 M210'8QSFC.$(>!\!S&8E&DSSH^<@=IC;PO8U>??M:W"?.F>.BFU?2T"H*14B MY.$9$<8814F(4_:2*_G3^87\=_+XZJM 3VQX%5S9Y55+[#&834ZDD!_\D;@P M-;@R)Q5=_.Q&"ZUMHF_?KHXM$BJ >3^1F+'O!8_&>Z-/TGB-77>2W=AW4$S<4$-IA-%C%@6BIIA/+F1OPQC%=, M1A*'E^3"/M:"N104*4>>]5-Z'& ? 6'>*I7SOWP)0CQ T1'2X@L,UG9W.9=N M/4P"FPM&L\[!UVXR<'.7"L7Y#LW M_H!\[ 63!Q1),LKR5+H_4.BLV6]?N*',3J![ZS*'G1[AQ*R3#6UCBD*8)"F= M1WY]DAL&NPFE-> B^77*U 5$'0E->=KZCP1Y9"Y.BJ1C+Q\ ;R6['-XR6SQ3 M&F_9$223V334UQ F190ABI.E#'S:I(NL'=^C*7EM-PR)924_ O+S[$OM!8P% M,VXRFX\Z.D 8DE+FLCV5.Q9,R 9SB9;*V7*DD@*3R3Q'705@_Z6U9;8PF>=@ MARVG6O%<9DLMDA_E-$!CB^%5&2+F2!ORT/6?#QV2@]W+;_@9>50GSQ>]]9(P(.5, M]\$/'-[X@]HH"HO9)$43^;[/Y&<__@W(279'3;^1O5$;YD\+-")ZAUP?$#*7 MI&$0A&5"0V%&(A@"(7,IJ3(YKG)S7 L0,I>MXWQG+X1@+G?(0PCV- ESF4P& M-<^8YY\I!R'/.;#G!9ZD)>,Z9+9PR! V>S-%SH\4)(7G6O\\=WZP6=LG]#.^CTXBXO7.82L\G)63_'STGD M^CB*'M-7K)SJ$DZ"$&[M^LY=/,+AH:*]N(D8_G0#PUCZZ!T *[YS_F8CN\E MG*1EZ#(XF$M*YM. NS+F!.839*WN>.W;]78Y"+DMIS!_%G%]J*#J8 MRPS6!!UY'^AFHX.YY&!-T)'V"L\TR$D:+50!#YG9!"3+3N%^\*PK1)A+1'(6 M+;.(V1P?]])R%C&;:^.N4LXB9DO\N+\RX]&Y);'JRB?F\DE,6:3C[#Y49.82 M14P9F6-1G;D$#%MVXUAD9RZSP9XI.!+I%9XUJ,=J114%)THM\P7GPASF,@4U M20>?/$E1"3J82U+4!!TGSX]4@@[F\B,U00SL-+JW6^Z3QW0SL)+TVN=;SH/5ZFNN:ES\E?.+8G%/I\^NJ^7(8Z") 0% MD?XZPLBA@W?+1I2Q)_[=%;^W\'$V0W_FY'WZ$ M%Z0_I^]9?1L*G^&%_2".@_$E>5GVESB8P!LGI/-\C/H>SA_H!R',I3T(/ ]- M(GR9__#)<:.)AZ:7KN\!O]OTH4^KKW_!8>P.D-=&GOOL7Q*:99>S:=CVA:6K M9"8QD"QV\@]GD[R@D_P8.ZO7;.O"EC9?EB[DV;6/]-UA?D-&3S6=KB/ I C5 M?FFIK:5Y9S.1)[% _2WA3Q+]WZ?L.B&;LG)Q@AS']9\O)4&FGW@;PT=*I\V, M(>\C9*-T2DDVP,27:Z5,SF^'$0?A9?Z](8"Q/41CUYM>_O4)A#,2;O$/X2$8 M(_^O8H3\J!T!?(?IC9'[7WPIPZC37W^DQ##A/923&7%DA9#VU]N;I]ZU\/C4 M?>H]+F)K;O"LC/:Q=_7KP\W33>]1Z-Y>"[W_O?I;]_9K3[BZ^_[]YO'QYNZ6 M^2G\AJ(10"<.?%&XOA(42=?L"@TO/T6H*/B/$DIQE?!X.$6)VGZ02WJ H?P@T=66K_@ZKYM[=T M-DY]4:QKI%R5_,%W=6N1:\J%;NWWY%9#H%S(AE'$$&S2^KGB5B:O1'6OJN$5 MD@>3W<'<#5WD[2IIVC*$4U-7&+W_2,#EP:$W?<#@><4M81B$8Q2#/P)3 \?P MLA\$7A]Y7A#W@]<@L5%\Q?88)[>+B"\!3<9:L/^SWM M04G_CU^[#T^]AV__$AYZ]WA %&!\$<.6B%UNP7PQK&SA^Z^IX_W4E]^ ?N7#ORE/897 MC,AC;0=-VU.,PC;V] Y=W8Q6T(MR$%;4%/!C!7930NQ8B*N@O'8C4CR M21BZH ;]A*:D=@=UC^:.OL"SM_31'*TZ28W);=60I=V5?(G$=,?/0A0.X.(S M]LG9K:IDJ-*_G^6+_TR>6P+R0-RN/ P43W.=PF/@)40FH_2&Q=R&:4U>]]'V ML@4/MCXR',45Y?0#?G:C? M7[IZM_ M_._E$]SP$PLR0=]XZ<;PM<$.4O*A]XH&,:6%$ R%-QH(*!*B"1Z0=*\CN+[@ MQI$P&%%W:_-$5WV9'?)5IW533.U"-^1]W!1M]SSBD5Y;MD=Q' NWDWN1#L[! M Y+E!^5TF8#G'I*[BDONC3_(E@O@172!X2I(_#B<7@4.7O5!(G+') Q>R'O> MO'BSU;G&'OJ!0GR &W)NM']"KS?9LM" OFS16%I@++6VJH.U) =2;R%KW;"] MNZ*EPOV!XE* N)4N9PE_3T(WF MSLT#^*OCB1=,@3:+@!)N@XN?"OBMN\73IS4ZFGYA&M)I%J]J(T$E!9^I'NHZ M3HBC*/O/-WB?G.L@N]71=.&+&T:QT'W!?K)=O^]/QJU!)%O+,8?0^ I^O N? M@A\STTE.B/P- H\1&B^35BP<<65?H?KR+KP'.^WZ@]W-.#F*\#N*(C08)1&. MXVC%9=]S0/OK.P!K;J5X<1GY$W.26U2[ M9Q0D=NX^!&ZZ$^0)O5<\@+CT!0MWPR&IFA*0[PA 7X$0N/8:W[B0=(59C5\W M5?5A=Z$EZJD;8K0@IFJK8UHK0OI3 5WP+0!*W8\"?RD=1$X$U RC;6B2PI7 M%B7PEEOX:R3$V,,30LPL+R<*H!:\A,Q0@ , 6U*U '_22+P)Z?'3N6N3['< M^ [Q9+'0GPJ#$1[\+L!8?Q=^C# -!,@R5OB6=OD@_R2,4$1SEHZ / \NDE1Z M!/_](W%#^&,<"'V( I^65%H*M=D? !W@=65XB2P4B(1@')_>0+;6#K MX^6Q_T"+HZ1Y5_IP-H>?J(K_H*13[(/5ALO]_\ $R.WT3GB&#")[#:T,I&.@ M8T3@P=F2X*!I=%'8C%\E80BO2UJOS+[SB+"Q6K.R(GM_@ M[824T4&X^LB&M;EXJ"D*@$@&",78C6.0(E"3 M@S@,?*+7O:F 0<=/!;II PVH[W2-8B2018IE_?#V#F&2A%%"W@U7'A*X59/T M+-N;>&F,_=A^$CX0"IN?%%6YR&Z(1RY-^DY(TO?8VB(=\$P+X.BGXC(^1QE" MF$SD9S)N??E MLI3EIS< G38PU)4+0SV[]:?WXLU3BS&=\+?UB!=F_SNU#J2C"M9$C<.POD_=2W@%K'H.PNEJ\C7=6$69.,ANFDO!FJW.[3KSM9**W9?M999: M%?[XMM*ZW3Y)J]V,3XT5]%YNV[\NV/;3$[HHZO.!I^.^REV2G:H8R1'O[Y4Q M-E:]/&YT2MEG.AU[OAUU5V;;%81G:="2(J$?,N;DH__<.'31$Q\ MF%I Y.?%C:BY])$_ $D@[BDI9B(WDZZ&#@J=2"#+GBYY_WQJYRT1_ ']M"YP MNCBY=U4\<:>R!)3B87XTPIXWTWT? "$TV$Y+*+>'M3]="/_"T5[)EX-TYE[% MLH]DGL7LHR*]:Q^9T'=[)L .Y\%:K[! =J,:(>G2'%(W>09)30EGIQN@9I4? M7VA&%A13XKLII*(1"C&8VD68*2T0EH$+UCCZI75S^V7-$DXP'I,*SV#P^R-] MQ5T24Z4(.FIQTY:?C-M.0(LB%*"%+>;XC M!&_#O=B=S;MM%5CJ_3 )4K-S&6*2XG_!*]T@WC)>]$/2VR.H'Y$M ZN/O-= MHF@C"W/6R&(4OGE%S[C=#S'ZO8V&,0XOD?<#32.RU:!8MPN&2ABHH"QN(SC^ M/A$V'F-@?]!Z=JQLT[V[%>C&_W3??O4[.=YK44"W>]WW'F[NKH7>[77O6OC[ MK[>]Q4VH O,3>>I^_M8CN].N[FZ?>K=/FYN'9.%2F\2_E^I20!&25U:TTVS1 M73CQIEO]PI"U?5839.E",I325Q,L[4)7=ML?6VR+L"SO-MBUB16[>35QVS9Q MW(-J$VZ$MO#EYK9[>W73_096ARBW[M-*;YN=JM+0X'<(D^$+[6QR@P'&P^&V MHK2]TU3#X7%D-74,T&F_N,(E<#)Q2QB%Q.7]TPZMOB!H(FT[!1E\!K1[;JDI M'-NZ5:EJ7KZ-I1A#O\R2.[-N>%&YW%U-*:XT-9.U;5W-5CXPI/];_P%6WG&H M%MMK0%RNV) KE6SY)QUN2/KTK>TQ_/(9>2!N6'@<81Q'PH=??90X+ESY23B^ MU%4J'1R,U8&1= 029G$8R?Y(-!5@H9Y"/8KM+?P77@&0N O=$@OWF])&>>G4Y%BE'G3'.YNI&[B1R5 M,U0^P=U8^![070L]NDR_:JQ+L,^'LWQMZI.V/^)&^UCHV,3U4HPVCZ*Y>F19 M !2E2J/-74F.RDVH?'1?3V"R#V*9RL UHY&^PI% M(^&+%_S@<39'Y2E0R7*N3P8#O9AU+E9+QD-JK@=9%@!5)OTK8AA3' @S MJRML,-CKJCD/+2PK+P_)5>2Q$&)P%7F8BBQJ]3ER2T"NI60;"I2+:I049V?9 M[/R.?/1,[0[IL">;GR+AVHT&27KX&?'8NS[RII%+(\HW\H_!W'PH,;_5XY!KBM.C8X5&ZKN*VJ)7KA19FQ MTKBQ:@Y'(7Z*0V :M53W83# #C%.E7.8FZ*CLUXMN+7O3&R1?6I@^+;6,XXKGWQ= =/5@KLSN17B.HL5^-JY%>IR,]0(@Y!;H M#/C-+1"W0#6%K_Q6^E.YIN(<+8NCO_KI@0.8'*/[B+STT()L>^?< > D2?UK MA,G%+&CB]JKA\.#VBMNK&L-7UGF)3_,X>HV'B!::_CHAY\YCWPW".3M5.:>Y M3>(VB=LD#M\-&LSBE3S-X^AW> 9BIR&&D&FNS+1R#G-;Q&T1MT4_2, M*VO[W98ZXI"M;>B)\QI'.S_WPX]+;M@GHH:=TTS=> MNC%@8["=:/2\^ <\Q"'V!_ -UQ?BD1L)7R#8%V2I_0_2<:[U [=$H95$Y-\@ M"5M_%>$N++2N@C%,8-JBM3RM)Z#[,_9;0DC>1WO597\2;OS!!;T)/#B0DKEF M=5'2CUS'1:&+(U%(? ]'D1"0E,,/-\*"'\!-%RN46_( -.7")*?33X*(]@^Z M#+%'>S1\RH^6IT=MSSV8'6DOO3V"^C"H)%Y]9#,+Y_\E[W:=7UJ[';BNSZ[:4I;YI@@3V)QSH3GF+KJ7=U M][5W*]S<7FUFXZ;!;I ;]A\[OHAO)7JZ:5)H"U]N;KNW5S?=;XO[)D^EA[8. M,MU[0 :Y]O3QM6/#K\>BQ7@M?W=U>]VX?>]<"_/1X]^WFNOL$ MOWSN?@,6]H3'O_5Z3X^%T7GJ67Q(YIJ";QCK&(7/H,D@^KC4%SV?V="I@7U3 MUB&8<>(_>6@2X(!LUBKNS#F7*]H,HU=_(6KAG2A:;H&R]+%_+&:]M>*YL7IKKYT6VOW7[- MD/=[\MW!JCN]]IVX=E^?N%2@VSLXFJW.7_XD&]*G&<0W!P!;YI2BO9I9K=NU M#]]T7R_]P+]-QO#X@'AJ9+@/Q',>M.66X*,Q#,;![N5U,$B(IKZ'&P.GYSO7 MH+I;0KI(!,KX-;XD#EY[#*\8D(B$H4];"OVTK'D/W]<&$"G M 'UWR,'4BA5K#F>?H\6A9W4P)6'K"=!]?)PW>'NDUC*[0>P,S%6@08>0CYN5 M_%_Q09YZ9:H"[7J5A!"0Q@**(AQ'EWN!X/U9TZ0)2]/>V:A4U>V_#A0K234* M]+_*A:(S+BKD0!Z26AF0'_ ?B?N"O(40:M$IVVG^DE #)?'G@V;(-*PS/^Q+ MB :T'W;BNZD7ED1.:\DM4UJ"@P?N&'G1+RTI]]&2J/V,T.22P*/K.^0_O3=L M=.,K%(93(,8_D9"Y !1,'UWZK:I4JLCBY8IBY(Q<]GR ML6Y08OM(7P$>E6F]N: T4U#4TPN*3 3%EE71-FR&!*4D#[(N)K([&,!DXD@( M(:8"SO8]+ H^CCTV):?GPXRKL&"&>/_>UFHDR(::V.(9H ,9ED=YA!U)D%4+_Z M?=?SL /6X07["=[+*NSJ&M9:,MZ)-.!>\I;?W'ATE40P(QQV2?YF?P'1B?MD M:I:HJ@9#[E/96<*S!]8[GGGYP#)H "OI "R)(6"5ZI>K;*O=WGCB!5.,0>W& MP$$"D4&('3>>\]*Y@UY,%DX!3>DJ!S8 MX'\HHJ28HJ[H##D@W+,]J6=[ (0TL@8CB9JEB*92H]QR7K('@\7;47>J.\\L M&7X?X@ER';ID3.OLA<%"L07WN?Z\3[$>XZSNT;P*-4Z/]O"5-)KZW M*:KVP3$J=[[9A=5V$W$$6"D *TD69:N!3CC+FO+NG87!0W"G >X@'E0ET9 .SK2=!'=G M4(3\+?"?VS$.QV64(;_/C3)*=@]Y1\$1EIHU8WRMXCX,)C":J2A ]$AL-\1. MI-)V0G; \"3:05%32ME[0E?P;GLY5??(B-#58E571%4N2X?6U$(W&U'O!4SE M(8HN$VN2*9H*7R:N!A@/Y&=R1DP289ZA.DC7WH%UI0+*(KI6T711UQJ8EZJ%KKWQ8^0_NZ3S0JII MN6M[@+K]XL*C^)O[@ITWPJ99@CU<$;O5441- 0?79&FUCSNW)]6XI6)*E\"& MVZ:HVQI#B#KO]6/&+<37('!^N)['7?#];$).OZ*22CJRB[)BB[)F,N0<<7_[ MI-I_7_0HU'>0#%'6#]Y&P5WKO4"0'J)Q^)IOL^'_3O[BK?+A-O '>ZVTZ62% M5Y)%R^8IX@8#Z9V\11E TEH=V=!%I8D;B-C0I.O;@CW=/76_">N;@^V]Q+E3 M\0)K-F7WMAZ%I]\81;!+K5!1R=?!A-BB)4FB;!U[1)6S#X31*58?3S$T8@B/!"1*2V&>X_>6NHSP#)^?; M3??SS;>;IYO>H]"]O18>G^ZN_N=O=]^N>P^/?_F3I MLD:NYA0[@R+[O'.LYZ*^Z[FQB_>LVWQ_ZG7@> 4:O>84:]KZ$Q\P6RM\[.\0 MG;5+G* I[\)R>#?"^Y2,^VT-T4D#%E&1%=&6#UZFYTM_[&)IM[:#AV')(LO( MBB&+MLX;#E:I7\,$.P).]_3R]<#]]2NAX[^[+[J=K;6.@M$.=V^%0(L<46*:H']XOBGNS M>R8,_DC<])CZ^74M[M0>J&H_)Q&\/8JN@G'?]:G](KWF@1Q 5/@I/9A),Z-0_K3#UTT MVQ%+S2;$F5U_/JD'UY(Q=K[ "_R!B[S#_2.3- U415UGR3_BKG;)N-1JATL+ M<*D:HBFQU&&^4<6;N_1YG7/8#_'3#RNLK[7D;7?B#Y<3FW;25Q1;-.RR6L_4 M93\'AV )GOW!$#2E5L<4#ID6'C4+C MQM*2%\BRK196JPM\3'M4YC[?) B)YN9YV5**#?;>HV_*X-GIFB@SU5&0IUVK MK#;8'TQ*JZ.:LF@I!Q\,P6IJE7W-NZ;Q9YK&+5!_N+B]KJ:+HMJN;! ME>8\*\HNFHH5(.R/)E*#H*BB=OB^!?9RF;58U]I8@\!=WXI+$O87*GI@AJ&I MHFZP5$+)'636ZQ(V06Y;:8+9_-($]OWG]ZH3N#-]9&5>ZKIP47U/MA+;DFA) M+#E1W"6O6MM7BDFKU=$M\$!DEC!Y-D4*O#CA9,4)106#5"4HHFV64GC/JQ*: MB+V=JQ(*8L\B!X.(BJ&+LE2W]HM5+X4><=&T?O43X&2,W9@5PY M % *'VZ#&$/4]--1"BKF<97KEV)Z_35R+WW7^Z45APE>EJZYJ8%O=#4_L9D8 MR8352]+#7K7$@8122R"4LI%0S9?J^KF.CW$P^'T4> "G*&]&2DY#CJ<'G9!= M\Z(=WHV4=R-=C;)(:(U]X<8?7,"GRY6;9O3;Y!U*CRXW6_+E)MOR0YR'P$\E M1Q3^+%U(DBQ,4"B\("_!GP2XBS3M(O\O1",4PH=1$H^"D&2S/@F*)EJZ1#K> M"6X4D9YKQ L-DCB*X0>@A8!BX>^)CP55$@5%4E1ZPS4>X'$?AX(JT[\J?#5S MO_1'RC[J+_R3,*QH'$H.:Z(L9&C%B*].GC2+<2B$- 8A5.:B(^,*O LC)M1& M'JAMUVF[OC! $S=&^QTA>A8+..]TO9Q1]!X(>N-?I>0L*A=ZJZ.;HJ8;HJVQ MM#^4+P>>5+V6A":#HDG59?#$6#I8\5S31[4P#8-!,DX\%(-;[N"A.W#/K)'1 MAT.,0@2C_Z757I;G!QPC^)#30Z$/U(CFB'R=TKBH:).B$4G40;0-:W4Q:"5W MSUWP.J)KV4B<#%VD([TE*I8LZMJJX:@$76?DG:=%(#LF*0]QV,]XD7Z[-S^_ MEM*C9"XJ0:1.!)QX51+ETEPO9NI$2O3RSQB"VT. @R%H2P!!6Y1L353EL@Y0 MJ+I>I$F>]FW@MVFU=^!Y).GM CA"''%W^V!W^[OK!R%(S$U&T:*20S:H2^;: MZE?N63<"2#MZUH<"B73#EPQ1-U;U;YV=:):U:NH\,X=/M)3/8P/ 5DI]J;Y=M7NE3J8UN*(NJV41<'A_O8+/O8IX"M!K"U1-LR M1?/P]<^:^>5L6([UI[L_W3UUOPG[G_&^8ZU].L5+%1CA! G9\IG/[# Y90-9A>)-/9./U$.#_SKN2^=G^"QZ*L5B$?=P0K8*!IA 0T&P1B^/25)3#^( M2;5O"'_V:4;S.:1%9B'M8!&/<$1;7#CDB&6Z\XP"@E8;#/-]ZS )^ /=FW1Q MFLGM0MX54&3W:LJ%2?J+3(*T#]-EB#T4NR_XTP_7B4>Y5IA[,!,6Z>T1U I,?\O&2U1-*ZAJS8>VJJ&^I:FR7;?'CIRWW!L0QFB/K+_ M+=NM_*%1F,]@@IYQNQ]B]'L;#6&"E\C[@:91Z^.B(((4+M&='9*M1]%3[^KN M:^]6N+F]NMB(I3WU$KN/[?SPJ1%\=7=[W;M][%T+\-/CW;>;Z^Y3CX1Y\)_O MO=NG1^'NBW!WWWOH/MW #86)<>KY?$A\E#@N*-"?A%WLE[[!?E$#^J:AJ-&& M.7AH$N'+_(=/>7&E"WGCM6VOE=4+TU+V>NWV:[:Y^:,'#5;?];5- MJ+!\-PUJK]RZ)H9*P22A=@Q!T]VV+^QQ) MP!Y8LLCR-AG#XX.E4%+.HT<'NY?7P2 A_O,]W!@X@*MK<*@7PT7B<[?'!'CD ML;:#INTI1F$;^WF\*$MFJ[.P#2^/&;,1=$HA_2Y;1IO!OWE:;MZ\6&,MW83U MXZPA_>;&6V4W]:A%YQ$&L%?-;HT:= ^]#P,G&<0KB#VXQ(>UB19..3'251# Y'/9>LP5NTD@2_L]Y0J\%\\BR1(ZP%#5- M%PVU@2=G<[EIIMP8EJHHB1+HBR7M;QZ/+EI@%VO=U?P1QR^N(,]6\"> MQ29JLVJ)EB4BT;9..L(>; GY=GUVD695CC29V@X=;(?-/M(:8#OJ'1/V?!P^ M3X5)&AKRDW^VB+9=N6B3(PR)8.L'%[&S%TQQG,T2]%+E0%,)T#116=,Q@C6@ M-<""U"_WG>Z="M_+@/,M)UOE7*YI!'-&2X@APM=]B[6(%^Q$6:W=UC4\XR 9 MM=Y)W4V+M3S5MMOR)A'[N^'7('#HGI@L1?X8>$YA V30A;)U$7+*.M, M1YZ"91!0VU?Q2@04Z?XH:J8JZA;[.?T&6()ZQP3E+-:=A2^W?;&N/ E6)# ) M"CG!Z."E$AX:L NG=];D2L233/ $3H;-TH'JC;4']4MGIDMO@YV2FOSX[0/6 MWTJ4:846_\F:J*H'2W51OM4HICAG++YW$%]I6"2E':(IRZ*L:?7&8@/,3_TJ M/[Z&0121"&2XYW$_?$G]';M#*7Q/"5Q8N,EIB:*E:J*F\#ZW''S%#/ M(V?L^FX4A[2W'\_0[NL&I22%<*>[0-!>JAP*6R?2TQ1B<%-4K+*J"&OJ_30< M5N\X."7#BI9R6.2(\L-3.SQAV_Q2#GH@!*_DV-,H9/3;5UBM5D>S)-&LP5H[ M+]XXE@4X$$-VJZ-#C&M([#>T:8"ZKW=8\( CC,+!B,8%#G[!7C AW19Y4+#W MGKB4H."^7;^1E 483WW/936_>NT)&L[R6.@*S?@BBZ\Z_?"'LW[%*R MRH4E6J&'8]MK#N#C)_PV T[O)(S*A9-*\D6ZQ#2::F<9V!MP7>X\@XJ5M& R MV'UU\9 "@AHJR_+3*G[%_F=,9R$SU16JG]@V32+L4692,U5()AK*=/'=^/+_G M")BB'5,48S41Q!"D&F KZEUX,S,7F7$XKX*;,E=3GQUK' MP3K\ PMO/5+Q26AH@=0"D*MKVZOE6A2-(OEIZ9E4Z?0Q@PZ3;V8L;$63#KS . M%./<-L7HE???/';USIM7FI\SYOH)T.5N5C_UF3(JO>^)L*3W&H<(2.OZ*)S> MQ'@D"LC01<,LH8*?&=O&JX!.;-O8P3.I)E)E455+ M6%#C]O%\XK3[8]C$VBZ9E-EV.@E#[,>/A*)=W_D6P Q!!60>\&?LXSUZ,VI6 MJV.3+13,[TKF:W%'ZR%]% Y'#6=?L960-6 ZQ$_:(H\&VH%P"0'ATG'#I;1][SZUY;H$T8VIBXJU:BCJX@WRZ*;BZ.8 ^,DD&#%%BP<4G958$WN)X;IEXCN1/ M03DY"5UI=3316G." 4,U7SQ..5K-X/$!IK8ZLB6J:QI!,X2P!EB2^@4LMUF, MLF)+GO @>,:^ ,B\.)HKLE;662/1GX\W_0:IN!UCM05=5UB/:>F6=%D^H\4H M+FQG*YU*?);<@SH5.2KW2VN NF=("'VG^$] M[8>-DEE G(6/.<$ _!$*L= 6^BAR!X?4/C?3G#7$8MWC\)$P>KN;J&RT7#T4 M^D"&*'_/9X*6=4;*:'6D"^F0N):]_1Q<"IHN!4K)4F"R+P4-L+SU6R=8:WD= MUTMB[!Q0#+[%!VN@3BH^_P9JK#WM]G6*M74ZRSI89Q5F3,4K(ES"N(25[A-L MD3"[[A+6 )^A?M'Z;_07[ @(!H6><>HW1$*0Q+2E%2DJV!"^[UE9M(^R8T[H M-\I\2KZ"-0RB*!89M<@YX"1,YLD45G3JFZ_ M;>GL6.'CE+^=)4BWURT<%Z1R@T#: $-6O^!W-T.V(1HN4KV4H2J=ZS*PSEZ' M[&7H,J]V1944UB)*F5JD9'[7J$"/0[QT,UD:Q-6S@3BC9O0C+9J#_SKN2^=G M^D^IH)6E)=2:RZA5"&J7.)T/)A_&' ,&F!229K+5^;D??NP4?NQXLUN123J[ MIQ$6T& 0C.';4V*Z_2"&MY.4-O)IE?MSB#QA@L*8'"H:CW"$B9PZ9+,?X>?< MQJRAZR-_X,+M=!\O:>T57:Q08"?R9&/4E N3M#;,STN\#+%'#USZ],-UXE&N M5^8>S$1+>GL$]6&$H!(V/L(**Y1%:LS_2T9+]))KZ*J-A[:JH;ZE:;+=MX>. MW#<'9.ME\ZEW=?>U=RO[6/O6H"?'N^^W5QW MG^"7QR?XS_?>[=.C.";OMIXUC'*'P&P2%& M>ZD)ZVSH:?'W3$%1(P]3\- DPI?Y#Y]R.^CZ="#TH4_9VS.M1CZP9-_I]]++ MF;3:I!VL3 0VBT.S#V>R?$%E>V=!U0?9VIS3N+=.,9>N75-L)&"O9IH8\4V4'OUZ+X*W^&N423T MP%W9G(HX,9UKD.)9']RL"XYW/6R2;:AD@2F$D/#X8#D,S0-/![N7U\$@(7[M M/=P8.("K:W!T%T-+X@NWQP1XY+&V@Z;M*49A&_MOL:76ZOP]\;&@2J*@2,IL M+3$;0:<4TN]2&=P,_LW34CFZG/.\\5Y*Y0&_8#_9TM&)GQ37.)1N*7^LP:D% M]V'@)(-X!;&\D+@^14.%]G^I6Q/.F0++>RV2-_[FQJ.K)(+9X;#W.O 20I5N M%&'X/V>/XQ0,G;0LD'5=-(T&GJC !:>A@J-5+C@&Z1]G:[:HVZO]/E@3G 98 M]GJ?Z_>(PQ=WP+N+;A%IO7*1-EL=4Y0L6Y0UWF^TR5 S*H>:U>KHHFV8HF:6 MM=3/K4>CRK=3$&SZM^?C\'E*#G@@ 2. AA]DMU':S M>3AXVQ?Q2A1JL]71=5,TM;)25CQ@8!%/V]?J2L03J?30+5&6#UZ2X^%"$[.< MZ9+<8*=NER)(FV3.D%%4D1%.T)#,Z8/,>)0+&/UK3PL6E*K8XD2 M&!C#+"L&X6MLYQ.@? UI5WEZ\C$O!SF"V:$$3D^6+BS;,LDUVXHAJFO.E:[5 M^CFO\JC$SAP"/H54J)NV)BJ')[=X\<;9A35W$QRBF/1WPZ\3TKJ-5W#P"HZ: MK-I]Q3XF/0B1[PC(&;N^&\4A[0+($[1[>D$I12'8Z2[0LY?JAL+&2:7&2;)% MT^!IVB:CZAW_IF18:016BFV)9FD.-W=K&ES5KZ*AP0L(NJ]C6UE0LIJ=515 M$VV+?4@UP#C4.QSXBEQ? / 24F1'09"*#A1%>,_-0+7U[[8>G%HPL\VCA #2]DS$J%4ZV!/;!$#5M-5O$ M$)P:8!GJ'3;DEB'&X=CU46X9$G^(7H*0GM4QR#;A"YZ+^J[GQE,>4QQJ,/+& M!D]O9%\4\*'[BIWV?W$8K)-MF93O6XJL?&+>]^/AQ D,QKMPVL%>**V.*8NJ M>8B]X)%$$^LETC+P8/>J"5Z >_#20\G+A[9*ZL)EG=3KK<87M:K%Y77A52YF ME(U+C;0JUU5)U.VR&E#R4K[SJ1$G[H\P#(-Q;IX"G[<.+"G9%<'H?VFUEQ7! MK'KRQA\$8TPX4%CJ=;([75%LT5XC]87=368,$2\ 5Z:LG MS-0%APTP//6+B>[B$0X%EP)/^)!%1"N(J:)$F]>15Y_W5=D&[PTYLQ)',:T5 M"=8B611\?&:U(V4Z2_$S]B]S,@.5J;I(S=2^D9()/I,D*NKJMFZ&\G,\VWL\ MM^<(F+):'5D7M34MD!G"5 -LQ;;JD;K8BLPR\&J1/1.[.2'WE56;QLSF:BDP M0\OYO#KD:(M]A\%'D23:\5XW#G$?>#D(^P.NRYV 3FW'W!;SGL[@MR M/5)Y]R4('\&,/\ZHW77^DZ0LN,7QW;#XP3>*)+/-+\'%#73X L=[,RO\^43^E]3X0CO=)EF1S%9'!<.EL]\] MBJ\;'^TXAZ,@B]0-2:)6VE8R;B8:%4>!#P^8CAHPI:WT M]]@#H4AI99%F@JE0:^L/\OBFXOAF?P#*$MF$8XF*P<,1'HX4JDVEH0>*X]#M M)S'M5A,' E"A/1(Y:C\%Y20D9!E,D"):UB&% MZ#Q*81E@V\.4XR-, 819HJXQ73_= "M2OVCE-@M05NS($QX$S]@7 )D71W-# MULHZ:R3Z\_&FWR 5MYN?O*#J"JLQ-=T%(HFRNGIH%F(8>-DEE G$58-,$ _!$*L= 6^BAR!\(A=?K-], :XF3=X_"1<'IK:*-L M]+5Z*/2!"E'^FL\$+>O<*KW5D2[*\*EJ%*-P(6!G:OL)@5VR%!A4"DI8][%L+MH^V8D_J-0I_2KUB93,Z$;LJ#VV3Z#ECGKD;VT2*97[NB3 KK$;E,/5(^QVM45\IQ?@QS61K0E7,".J,6 M]2.M^(3_.NY+YV?Z3TKP?OBQ,R-^?C%_W1Q!!IA4)9<-=UEZ#^\*[9HUP@(: M#((Q?'M*S*,?Q/!VDC5&/MW[\!PB3YB@,"8G^\8C'-$S?1VR 900:FZOWM#U MD3]PX7:ZMYLT>XLN"E-@3\+QQ_AC!S^6B8:F7)CDY.W\&/7+$'OTG,)//UPG M'N6F8N[!3%M*;X^@/@@&:/F-C["B =1%:LS_2T9+3(UKZ*J-A[:JH;ZE:;+= MMX>.W#<'9.9ZI=F[NOO:NQ5N;J_.2+\Q:\.N[FZO>[>/O6L!?GJ\^W9SW7V" M7QZ?X#_?>[=/C\+=%_CM[NI__G;W[;KW\/A7H?>/7V^>_L6\=?X2A,3D"D^C M$&-ZWM*C^RI\A^=&D?#WQ,>"*HF"(BDJO0@_*,S/Z4/BH\1QP6'XJ89"\,YC MZ>Z?F5&@CC(0UD.3"%_F/WS*?4G7I^2A#WT:H_ 95&%F28@:7/*1Z??2RYF& MM*T+R;:)DLS2.MF',_UY0?7GDM^?7E/E"\,R-EZ6+N2-U[:]UKK05&NOMVZ_ M9FGJ$<9J6?H1QJIK^[UUVUCM"].TCS!6U2X? S*\UCP&88\QV#H1%L9J*3N] M]9U,+Q,)7>L]3RMMZDP-7V;P>A!U.HMF;Y$_ZNBFJ"F6 MJ.JKS>ZXC+[OV)Z9@-9(.@OU[U&4W?KW5"2G1JNCVJ)IRJ)N'K,K+9=/+I]L MRJ?*M'R:K8YEB;JTZN=RV>2R63_9+"2:&HN>+3D3Q!1U6Q5E976#>,F>;2FB M>0;;:=+%QCY**WW'Y- 7>M:8D)VKVY26Z+L)V5_^9"FR\HFU,VK.IJ\XYU)S MN%3(8.E;#=;;R?+14_"V=DV6K6_\;,&:KEY0/78UI\8>,-BWR(WQ(PY?W &^ MAZD$S@/IV^W3M] :@<*FS$Y[Q5L'FS$.2JXZ.)C4PE_C08C!V_L2!N,%MV!3/OIO:4*[L*M'.LFHHJ5:++=9 MYL [X""@[;%'9&2QVW!YRTGAMXW2>3>%S,?F M8X9*>3T?(A_B>0QQXRA+D?B=2PW-$EY2QD#V?4>M2^!VZS([=[C(GKW6=T#G M=M/%=AO>_9JPGTKNZT_9\MJVEKRN73//?.< M:7/3IN^)6S5Y4Y5WH.?RR>63R.=R"UTFY%.CY3JJ+HN2M+HWE M"V<3A+.0;++HXIH@D99H6Z9HUF2S2*.6IGDK>MYI@G.)[6]1P-KG8HU MZF6&;!;-4*V[ MQ^P&*=XQOT1]R-OX.9]G53B7.) M^:RB[:!@J*R>YSK9CZ*(EL6;Y]<,/@>%,J7WSM/9^+9A-%LT'=\W6+ M=\_G\GG6\LET]WS=YMWSN7 V23CKWCW?D'CW_-.W ^>CY*/DH]QWE"=MIL_? MP=_1Y'-2EI^V<$J:OVW$Y:+U63@E8:?P\"%EPMO"<*K+5>>,"&\*JT*DV5%U(VC+Y]Q >8"S)8 M%ZI-T9BN33&T5D?515/31.6HY2D523&O4#G/"I5B(KIC<5\"4M4;582EQS^!P]DBG]R !3!1VDFJ*EKC9VY0<&G/3 M@./L-*VAB!3<9JIM/Y;EX&VFIL8/#.#U\4VLCR_DRKPC9974&ILZ/S" B^59 MBR6+YWB8!MT:"CZ-J.FKV6XNFEPT:RJ:Q1)-RST7F-I19IJMCFJ(AB2)FGHN MN\JX?'+YG,FGSO2!'B:I3=7 B*[V5N"RR66S?K)9R'2RZ-7:$&Q*HJXIHF$> MG'?GYP4TJ2\['R4?)8NCY.<%\'?P=Y3TCD853*YO"OSHOO+3 OAI ?RT@/.@ M^=L67'Y:P'$)S4\+X*<%U)G$_+2 325T15LMH2T(K_/BLEGYI N)YO8-TA5)I$Y/,) 52Y2U>FQ?:-32-#_! M@/%NFGQ%#BFL/GZ)%,Z6<8V KH(-42%<-D M0P>=P>K'2<\PV*GVDSDI8>P8 UOEFU_YQIU&;]RI_7D&ML8WOW+YY/+)ZL$& MMG[*@PVXC'(993NV8_N$ ]LXT0D'7%"YH+(MJ&P?=6";)SCJ@ LI%U*V/5X6 M'5[KE&<>E"6B_-@#/DH^RC,>)54 'ZDFA/\Z[DOG9_@G_])*H]7,-G1HX]B9 M-EM^;(S"9]>GX]#7M6LMV\+(TGLF1J&=64=80 .R(Q[Y4[+OQ ]B>#L*X<\^ MW83R'")/F* P%H*A$(]PA(GE<<()GRI@TII8&+H^\@ZR^EB M(T&R86C*A4D(,@DBNHWI,L0>BMT7_.F'Z\2CW!+./9AJZTOI[1'4AT$D\>9' M6*&VMDB-^7_):(G9= U=M?'05C74MS1-MOOVT)'[AF,;RA#UD?UOQ6KE#XUF M5FJ"GG&['V+T>QL-88*7R/N!IE'KXR(( 8%+=&>'9"NM@U. ]J[NOO9NA9O; MJ\U8VE,FV7ULYX=/C>"KN]OKWNUC[UJ GQ[OOMU<=Y_@E\GKZ(/?<)TKNGE3#/8\H4E*T0Y9"4) MV8,VS0,/;&R]*%O/':MM?*ZH5D;GYTVVNW7]-MXSB#U79Z M[3ME'^_Z0O;*K6LB^U.VAE^&]6YGQA3I$L]$Q$DZ3KF#'4 QU[J*]"L*,8"B MD3 )@Q>7' ':GPH?$I(J=OV?A&""0Q23-#-AWXL;NS@ZR)%BQ5ASB6"RJSGG*PL\> MI@OVOM.=(W!AI:J IV'+HF3K? -=@X&UO1/(49!%M@K)IFC*%D/(>D<9Y^ER M&"S>#L93WJ8%]IC5@[=46^$WI,'EJJTSW5'Y>[M-:6%MJK8XL MZ:*MK@8WO"E<1;T3P ,RC]6;Q,/%HD54" ML3./@?;3MC.R?@G"ZXRHW8RFA>7$:'4T3928:GK-0Y_3JMQ2 64"H S& '5F M[NU7Y/H"0()X^EEA**E815&$]]2ZM75,#EK36I020E62L[_SK]_H>C?L4JK* MA>7$ @?%%NTU'0IXY]EFH&F[TBT93C;=HJMIJRE,%OO)-B #4F_7_%<_Q#"* M_V)'>,ZLA>N_X'152XCP( GIDM1Y^>@E6HN[>(1#$L&&> 1!K/N"Y_I'OB#7 M(U7(X&\]@B _SLC]MK)XB^.[X1-Z+:H(9 D4@2EJ-B,+Q-R7/[%=J0QX,EO M.U.?/\;AV/51[O,G_A"]!"'=)T&W,0-+!,]%?==SX^EYQ0+'" 6N,IH^O9%] M47"&[BMVVO_%8;!.9I194VF&LI0\%*@L%'@73COH8;75,651-7DDP!=O:U1K M7K &[VJ$_&=X/[%Z;Z5T-'BF%5>YC=L6PYQHW_W1WE&FBV.F>Z 9]G ^@!]+ MS^;YB>A2^A-PG]=,-B0CD2\XD'):[+X0C_6\D@]'V'V12TQ^JM6-GU/Y84;D MPOZ%!OZ%KHN6>G#O:YYFJ*_/>A1HZ60Q6A-U;15:/(=P?'STQA,OF&(,*CC& M/D4(,-=QXT-UY.:PDONLM'J&(8IRDI9IQ'P+ *+^-IQ=]D1 M &:V.KJAB*9^\ E#O)AN_Q4[B&<][( N?L%^PIWC\A5QGGW[S8U'5TD$D\4A M78\O+# 6$1C1MC7N(C<89WLKY/* 9K\?*Z9N"I:'[B$$#)K8ZF6J(LK3K M+"ZJ-UQ=_A$&OF$$"/;[94#C3[W@O<% M"V7@6>XR.5V:^"ZO==A30K161U5TT; .;DC!G6.&,798JOA0D.D ,LD2%:NI MZ6+VBV5RS@H?\EJ9G_8NECFW4J@:F-I9L<,$;TU%[5)ZW,AL MP9'U,J'[MS?:%I8!+=T37497Y5E&EBG4\V'8LQN=4Q-U.Q#NCKP#-3^ M?7>'&'3PK$9&X'YQ6?IW7#"JTNJHNBVJALV&"\,=9':T M MHO!/ LQF--,H=*;GS>T_>X^EG.F9T:*PJZ R!FB.\S^MY[R(^[OM/+ M25Q8R1JTH[ AE:!C:VKBFXZL=]JX'P]:9-%9LD5)7:UJX FT$RCDE+/T&(U^ M$L'U*() #=B9MHWF^;2RM/'GC+HXHGU0B3^<77$*"PU=;Y;6'H7 ,VFL@NN8 M^GAG<&UM&JK:I34-92^%5AN-/.\BNWZ,_&>7]-CENQ]*5<2T8%&7ZM%?MW&NO0E29!0?4SJLND/I#C[!9CD M'U: Z\#RM\'%./><(@'A:MU=:G5T131EDKH$,5,HH5O!#M=EH5Q>,NMCFFIHJH? M$]\\:;^C,=ID@D2ACY]=WR?!03 4XA$6)A0:/#[8))_J5B?N(*DL+&2D:$>T M956TF:JMX)%#R9C3=89 1_I"B(:LB1I3Q6+G$%-L5N.8-+C 6FN$_B7 M,!<F8DZ9FPJ:#_X-"?M6GO[@.MFR'3."ZSN76*AGN MQVWQ,[=U4L@J:AI+&8J2C#J7AX;*PWMG)1\F$"8(A"*:*DL2T2@'C&*T4OZ_#( M$EE8CWP>EV8NS64Z!X>)LPW.@21JZFH3M-J*<]/*TQD=\,>8') (_W78>S&1.>GL$]6$H2;SY M$59HKB]28_Y?,EJBK%Q#5VT\M%4-]2U-D^V^/73DON'8AC)$?63_FYPCE#TT MFJT!3- S;O=#C'YOHR%,\!)Y/] T:GU'9"OYZ12FO:N[K[U; MX>;VZH(AF5H_V%LJ0G$@7,WDY&I>3K[,Y.1Q)BS"S]!R$&J MS^'E,,=D""$!6>$DOX6_8U)V1N _1J2UJNM'P@CF)(#[[PY<[ ^FHI!X<8C: M P\#3>F+,Z$GVQ-)2['H0GBBCI-+*\\Q* OX NC_9Q0)V ?F8,$)P=LACX_[ M\*LCC#"*Z7KO]W_)$33".P%#&@P3;&(;C M9AP48!XNV* 8K(U(7@X2,J _A[08GHP2QD'>XOI.0LHIX-VW]E%5STN&. S^_=G77^NE" (([^ 5[P01&MC@T M2I#T0',TF8!V3&UI)D>$+%%JAE XS01I1LC?/7=() ]>#V2FLA>$$U+AD#;T M(36DU/\B.O0:PHT?A& PP$<\ 2'KPS=E71040-M.+N=_@#WN<)J&[RYQ_.)+ MM1)E*^LIC$?H!>8^ B9-VP!FF/:\)A6ZU%K"R*Z_"CT*63%3P:WN]==>QK5< M.8/^$1Y)?$48D-Z8ZL4?0#20%"1LS//X":'FUKI,9;&G%B@IXF \$P^*#/SO M <#[G_ GT,NSO YY0V[3R:&JJR>I_]_98CMA^/Q\"9'_!1@1A6_?KM()W_ZK M]1/,2/@/^9;PDG[L0B"DH/.DMY *F+1?'Q;)M%,2I ?6@4X@%@#^[@.GX-=< M#Z1*>Z8^0#KAFH<'I'8-]( HC()8^ $O",4WM3\( M)&;&4 A-8$NK/3;]+W MND0H0!C *C@"_#Y33W\5P)YE9R/2UT081)B^(1U>-B*'!"SDS_F31!20X 7^ M)M=W;5-()4A?&^%21P80A?%J@ MB*Q>4 H0:W.?&Z*,JF)F5-8Z6S-H1O..2"H(N=.RZ%ME8O5I,PI+Y56IL&2- M:]J%GG/M$8Z(%<?OH/MB/+W4!,^[Y?0 MXD*J6 2J6+([9PHF];=WCV8^,22369Q3)7=A")ME,K7SN6A2,5IDP(35R3BCRN*2)Q.Y/M!XA/'A9"7*B$*: "?FVWX!N0"V8DC$TS \X^)1TK< MH'1Q(07J59"V;(7W]/P7-PQ\ZE1UGP'H$$B#;8+8N]>%."7WA/L0#D&\DCET M< U8/$QC<0&_@G307<:S#T[)5TCT,DW=JW2I91;$X5=R+)H;I3TTLA0"%2,Q M"Q#?;%[J;1)Q\4!WXA?_D01$U.!/=T]7POMNI.- MJBP0L.]H*L@6D2_93.4K.PVJ:%RG+RSAW]Q^6)980DXP(2G4()F(44WOHDFB)OJ$-=[73=\'- MSSC<$BC5#B0A^ AI6D11*4SH0ANU9$3]^&_6G$35^<_@#U+SU@5;%^4DS3W- M+ ;/4K/TEEEB=I*$48)(D!MD#DKZ"OH5&K*BB$03Y*3,2A=4+&( MI #HP_,NZYOS(2X^.(9?))(IPN#R^/*]5QZ\FSD16S%GSSSRUX_V#\PN 5%$*,J1&7U@9R M*65G6B#SQ@BE.UWCS?/!LQO3K M8(0G,!IRP\I7Y_Q=H1OGWUK4NIMB)+ MD>_UM?\2A/0XE#F\%MY>::B;3Y_,6XA:2$02W>[SU[^]=Y6$ D0"!!0L^[DM &5JG;M[T]E-%^B M"V&\N%/\85V@2678*D@>\E="L@DT0M@_#9;9;YQ,UVSUC4X)T"C)>L+R= MXN0:O\#WP]='6.T7,)^^+0!E%81S MK8* ^D4$=S=&V7?0'\0GF'%H%:H330O^KB:@S0-W#G3/D\MV33/CL8X!&$: MYFSF8O@D,RL%K_8,]D7:+@::[_P^X'FT17N^_DF+P MJHQP"%"2Q8I=X:Y??3F&_7BR7L2$U !Y6.F$"'6? "-((C!",68'(E_9>QZZ/];X'/NNL0Q0?L1N3*P M3?@EF-YQQN5B[SN ,)>J9&"Y-D"Y,9,>_MNW XQ_WQ3G#O@]$[.-\R*T:L MNJ/E\;&[D?MZ]\K61GHY8]!3,K@$C+\"0D%L<&7> AT5PO(/ET-(2;Q?J6B6KXA*Y0@GY M#UR?BZX) SD$("P$CPXH%G,, YP$Z(^X;D!"<\%?MG 55T37\"?*8(X)W'#V M5>H4]WIZ MT1 :P+1("5E,?5!*^5W*Z;3RGNEJ<4R^S@9FWV5-G!A_."HN7+ MDRKUPJ1*HU7^C%68B&EM3L1L,C,#M4\9SR/*5\I) \P &Z-C1R18;!<[2](# MEV,\JD&:$BJV(A;Q'[%R'P28D?$'PW@#.G=2W?/_K.D2\&BQK#S,]]\PR5&3 M09$*> PN9=Z&-,*6?8!1470 8U0)KH7[Q5Y$ZI6KY =YYLT(GI2$6:%AS/(K M+-Y9)6]+>*>WIFJM)#>IY2E1ZN(T):]38'^C^,QI7_:6M"^T83"HD%XIU3&) M2$*<9I< GJQ>GS#!=KI%T@M?D$:SB\^E<"(?\.>,_'Y1ACA"T5_$E!C%090I M!4+ * Q>^?H"C3$(E84[?Z,JP-V!;NHA+Y'U"%C$=V3"Y-4KMLD+C'=!+'\&I&&0 MRA[G8LBI[1_G?&=(*%/W&W#]](H60;R9\"&BUX$G;0B?$:IWR"ZFF>+! Y+T MJ.^Y@WR.[Z)/'[7I(\ ]X9O+GN%O&8EL>*+^,L6T;#L1 [5B+C: _BQ0M(#1 MS2-B#=E#!%%RQ@%3NN?IQ*E'#$#NX^8QG29UUY""M(3*2_QBG^##6C>!TLA" MKU(,H5QJS-,L!E#Q1-L\1^>JIB>AS>MI>!2! $\=D;*89*EYLC!* MYJ M#*(">P+F$0L?I*@$"F'M@(T]*C6(T-(( #"C]F9'W:4BUWL1X@>[.LTK?*!P M=$-I9R]*R1)Z=)O\ !V>F?(01F'@/GO1'&Q-;Z1BY-=C8VY"O@!+">Q 3$AWDR8Y8]8,^F1 /Z7, M 7R[>"I--DC33_CZ7&HC"5,E)[+1F?L*VWO@/P,PX);?>;$;HU8,WPNH$7B M@!&\F?C,3.H_0+H P7WQX>_%#S6@X83[:X0L=>D?Q#J>7<_G@OLU%=5PPHO/ MWB1$O>?W@LI FC9-QH=(;L6,5\PPPPK!@(?4_IZ#08]U4R_TMP]6=RZ(!H#) MC!DOBL%PB1GZ@,1%>-$H72#.0#]@0Q=?A"]_BH -\A2368)&&T\K)M8Z#4&Y M OX;P&,_+&)+N[U'ZX&-OWQ8L.DC]PFQ6NMT,$-KS##Y=SSW_3N@ 9;+.O(" M6H*'8%^H>)0Z[P&(EGY4Y=PJIBX+LL+G^+)4=+DH#?OBO@XG;/@-+>PO,\KZ-=M=GJ=[NVJNGKL8$=KAH.]4\7.#@82)K.*?,+M#D% MS*$(\2.7D7Q8"G*QQ-DDC!_X%BHC@-WJFUU5,YV"[.PL*CG:5ETHR>_ M+6>WV_HK=9.@9BMXF_!18G %>7QZ'%*VQ1J;/(\WGH!DU]'34.MT.[*KH!,O:1BS: M7&4=;*@#%CP;HU?HYUST#E1U>'H((CM7=Y\(C3,-F46AGWJATCBZNHBWYTJH M9UD\/<,2/)7P6&)@;T4-6"[@>BD21A[5DM-THPRJ:G,!S%"F]-)CRI MV;["*-U6/B/@P!+4AJ'.UXDWFW$'\$@!&(UX:@ZZO08>E?(O94/PTES*/.LMRD(38K &0!)$I53E%R2,O=<6SD17*@ M;5" -^T_F(]J4\PS\Z^F.3)42YBMF5 CBR @S3Z7W0:_"2/1C2*#0#',Z%;P MD_P1A2O](_9I$*/E5F [P!)/RB@9\.K;%3IWEZD\8$_"T:@JWAA!*C+>(I;& MHD<8Z@*UG/); $@4C.:.9:[Y\?*V]%9*0UP-%%$8=WAZBM@3G6!%4%UT1.!C MD')ME1CQ:L:6<+-B7T(>9'+3)7+\Z2F M%+VXU@Z$D>4,9FE9P.'15AC/:3)B>@4BTX2Y0"RK^_V/.$MV6'&Q-;J7VM:$ MVT7I-/7)C[,TZ!Q%00Q.SNP%ZNQ6 MP5YW2J@NR%G+E'N"X,(DI $2R/3=6IG_\G$XJ\ *Z*7KHY_54^979$?0^ M_K6PCDR]U^YT^,S8*#_T0AA/[4[1V!?^9<\F.ZOLZXW/;OS2-M(]U;VPW/ - M;+AD,K*U83+RUDFLNK;VVX*I1)R(FS/9%U.2D(G^SIGG^[50HU$TC'4%<+JV M::3T+F.N=YEO6V%<=K,AGJ:/[S(86 )O!7AI#KP$WA[ 6\OOEU#89)@3 _XT>W>]58YA.I]775=.TU*ZQ'O4_:+K?3BSM D9QKI_CEHGQ M6BG1/BXECKWO;'3W;Q:%142H\>;7FO[SL4GP*NCOQDGPBJG0.2<5ZB>C0DF( MDA ;38B;$U!/H9<:%ZB77MR(YDOY92V.A#']OTMR)/Q>T+"BU#6E5SMZ(:N^ M:)[5[9U3>3!K4QZ*\?2H^L'**\N#.;>.8_;F]M:G$(Q6JV^H/4M7>_;!@E&B M6H-1;7,!RY'965>RLUO LKV9F[Z5N%IS["FEGOJD'N*(EC&8YMKFD^,H[U)([= HZ=W=?7ZX .8'54S>I*1+M>1#NR M>V8'/-.:B&KI]<8ZZK]IL_LK)$D+TF^=I(_2-VNS/B3!2X*7!+^9X+4CAT]W('BKU>^JMNFHMK7>(>Y229[<%3]1V?Q^ M9?IEC:R:7.SO&.VN;OU07NO_0UE]M:ZW-4LK_;K3+O]NT[):MVTX^E[+;OI. M;W?L_5:5FSW;9NV=EMV2FWJU=?Q?O>\5J_@K5^K>9KFO+->7Y?JR7/]RH5A: MKG_-^4VR-%]60.WH,#I_N+K;ZINJ9EFJW5V?O=#0$JAS5R3>,C%>*24Z1ZZY MV)@$U[-E:;Z4AU(>WCGG+$?IU9[N?/6"4!+BE1*B=N2Z@QT4T]X%*J:R-O^X MM?G7G*LJZ_ K:0I'+BK3(]?J;.;%];5XDF6J#<:Q M,W8"-CN6Q+%;P+%S5R.8G6ZK[SB&VNVN3R^7B'8UB*:=N]+-[-A-1+0;<%K* M GM9B=,('N2<.Y/*[#@U!JP:4XDCB^\DR3>4Y'OG;I-K=GKU^[,DR4N2ER1? M1O+GKK$GPDN"WN!;.3N]:JZ_IJJ8[JF5?3T^-FRRP-_5>.J:\ MI,*^?(1YKPFCTZLM+#=\ QLN:>QI;FCL>;55^(^3B+'R.GQ]A['1NK9/1U19 M]WM(W?[1H7K0"RX"W%4J_26XS],;0,+]>-T$JHB_:\CFDAT&9"'7CAZS,V&#C,D7!Y^;NRZ4 EY>'(%92;E0P)9Q]00OG3V/"S=K#'>U9A")EF[*&F^L31_ M]O[!NE6_[TO2O*1Y2?.E-'_D_+(=:+Y;FP$B*5Y2O*3X+11_?L7>;O6[JJF9 MJM4SKH;D3]&AX/PM"1RCW3$)Y4HZ$I3/>M?;AF8=8]B[U=EOVY1-JN5?YU?=DM*ZM5V&_CJ?:_8:V!O$-UZAP#97N& >G\)O#JJ]R44 M=ZW%O^;D)5EW+\N;=G4$G7W:DNZ@7=@S>V 7'MRY[E;J#6^9&J^6%,\YT$GO MRYB5%[.O/5BT))B==*B6>/41K:!:JF-S#.Z6,0@U7ONX1" MLAY\NT@[D>%G4A$NV)$.W;QQ&9N5E]O+(ED M34:RLY>"&58#N=D-!$]JZS5T&Y5LQTXLV\R-ZVLV),LEFXQD9R]1,.Q6WU)[ MIJT:75WBVC7CVCE;KQKUM1N22-9D)#M[V-WH-9.AW8#[LI[>0C=BAYTS*&[6 M%XV3QGZ3D>R<(5^SON9"$LF:C&1G;S%HZJU^S[!4QVR22TEB6MV8=GY$,YJ( M:#?@NZRWD=!RQH(L-SX^?*Z'!VEGCP:;YM&2=RZ@Q4 ]V7:2YB7-5V@Q+/K]C;K;YF MJ(ZEJSWM>C3[I4Y"M2*!UMF&!3IB@9+[?Z6]B,03IMZVL7/0+(P]A/K;B&$Z M_C,3#8,$7N4>%)#M+!YQ!P#$>5+^2%F[I%,#QEF&1OZ_DZQ7]#B+G? M[MPQ[/6MZ[^XKW'KI^6&4%YPMP+"YIQ^K8,"G?[Q_FA7:E%U MCLU^"A-8+ D58#XC%@"#P;^(6-T$_O'!P\0^S_65KPE\,(6]QFN'*F_*M?.Y M2SIZ[?#EJ2&6]HI0OK(G!$>U/6=XO=13K+NL!_PW,']O_'HFZBWSB:9G.=*> M:,6W7@(@&.ZPR_0:VD?>UF8)\'D>I0UG4F]QK'@!RFP&>L 3"U@DJJY>8R ? M(+6)"\)P/IOYKPKSV3")O*&7O"IN,%(F8:*\ )5%JC*<>+[/(O'[610^>["B MZV'3NF!$\@#DY_)3]"\6 %XQ%@'MNB"JXSB,/!:KRLO$&TY0-8F].%'"L8)D M[?MNE.55Q/3\S(W@KX#AH_@EL :/5X\I[O*)4.D19\6M8!+PD_@*_@YAYP " MH<;$%+"U?U;8=W@]_CP].W 6?.V4#2=N0/\4D&HK?S& Z1C.)1:;@2X"0@,W M7WS*)0"DX!FQ&&@JRTS.'0VTJ.5-_D=Z5'X*!%+!D=U8\1$'EG^^ M=%OYXKXB(U: !(# X"[2E^*& "DBEMNPT5%&H&:TRS6VR[RGQ44(/@3HJ0Q! M?W;Q?[UH.)\"M@9( 0,&F,^ ,'S0/SF)+\%[ A@>#H?S",GKS3"<3L. KAK0 M #^"W\,O!I[O"_[CCSB:<(,B_E&0[NJ&2.7ES\=SN.K\,W!M0Z8J+KSJ20EA M.TB:@"' N=;V-G61%2HOD98^LJF,%1$,!J^XTE15(B_^AAB]0&]\WX#!P=PXGD^SWV8;4FFME7T@DB?N MTQ.^*49CB[\Q!I;,GNB-N$-8($(.ZKZX'G'A\3PB6(\\N"[B8T2H^=>UE7=P M=P)'O&!,H HPSGPM'2N>91QS&6T<".XXR>N-G*P/KL^+ ='"T&KQ'V]@+7+ M7S9"-3/=8L:OO1C@QA .WG2*8@Y_!3A->^26=LH1AL* IO?C3S"*R\$%4@+L M43BR_ZHJ." \?2:'A !/>".^$#A%.%S"5;&=7;F[IE\"VWC'9BP@X1T&>83B M",:Y*8=2[AY5Y.Y3]Q5NA63S)"/UA=" SDDQ)4. 8<@1[P]I/;77!X!/05N[FL_1Z@//<3\-YD*Q<8=GO MN7#(.!713LJM2)#A[ELC(B[]*L;W(ED]NYY/BY!.XQ&5HC8R'8!%ED$:F,0(<0NV#@CX MC:%V@GXBXH/N#,[M#B=( :!XS8#"B5&"_C?SYW!VA2/MT@]'/X7XH@A8U6B. MRIGX;GG[ BXE1R!6PT"3!/@K,Q:1NPK+PQ8W&2.H767@@CI*OQ?WA:MD9$S: MZBA5ONA"-@$85@I %\Y MT"&!;K-$_I-[LI3$A"7*2";W_4ZCF0[]#UW@ I, MJGRF/XU&_(>C5&:F6(7P>N(\;\3(LQ,C?\]4T)WU$N0P9_(9I%U*2RW@;3S1 M0U=#\M;H'O,(%>W)I189Z0D7MW$.MOTE\D(R?OX).C,:+!KU(#:( PN3<%1L MA0AE6EBB(Z2NG.%3;"*I"E!-".I%/!\L$!P_$JH$YWYG- B_>DB.1= @V8&$ MG8$EIRH4P8>.'=(CG#,*,4%F]I9GGT)2G<+HQ8U&532"AHG_9CET\F7$S:"_ MHL)FXO 9DG%S0DAGY.QW*" !?Q8/II0$JA30,FR/8W>*884_;2LB*B1>L.-C M* !S,?G5D$?&*;H%ND&*M2+!M>';N(Z"#(O4Z526$SLY5*%*[N167;H-T M0'$!W.I:A83X,L/MU-Z:B)EVNG=:Y\ZR[C2'GY'C%[XGY\] ?9=4.@6,4%A' M[$E\EMD0N$WRT)&L(EQ8/GC11I>]2*B2%M!-F3>I^4+@C]0[S9&+)%AJZM^S M)S1ZAW_//1YJY'!$&P>T 1*Z!.;<#Q WU(5^X06$U9EF&'/-L.'.T&+U=JV/ M?$4]]R(\ALV2_6L@/Z_@3\4A$0CC>]LH97.!'%69,#=1*2HCK&D>RQF)((V7 M$R]@^2'9H.\/Q1%L,BD.&[65]VB#3V$3$^1SA5P--81UKVL:Y7AV07[-B;-Q MOXXXF'!7LI&Z$(OHGTRVG<]\5[^:1 #(FT*$WSR(%(++@;UKQ/V(N]A=O MS_@<>AA\91:^H A(*/!P77& ^WC':P#$@^^%^KI:79W#=91VL03#62 MJ4;%J48-YM\--J(HWZ1.2XJ\?_1D7,+X+S) 7XSC:0JO\HOK4["]V8>HIET\ MHE?'FU*\<"$$<[)134/JW+\Z=&/,./)])F+\7*HB#@ZX1BR4N#1 @T$;5 C% MM^D;WBSBNG',$HQVD]-Z.;2BILE-8G\9BF9Q%GPJVZ"'(3%TB!>8=@RJ)S@"1'?\)]$*PB5;3X=,$^!'SWKX+AW-D%5_(M_8^&+T#,"ZGMR-@ M[VAY?.P.6,/=*W.C.Q8L\MN=5A^'-/*MBTF-V<1I9=P $[<$0]^%T?-/8SP\ZV)QS9Q M\E(ZV'W ;S/IYX]UAK)",9Q4!-VZ3R,0-ECJ#G ]1R ML)?\11PMC;?!"\C/",0+/PN8@L2OHK(CXO)I4FAQ<(^R6'Q_HU=(I"A5]G: M*)G'7%ZXJ=,&'N#/\SR>/=TV;84*Y>)%TEF<#U6501-S"X703(%3[* MC.4NSO$K/U(N=#@/O@7A2Y FJ?G >GQ2)A?YGSP+,8:SHRZ,L1<736""0#T$_[=*12T\,FQFP:..AC?3,R1,+WA8> M<*&,H O[$RST^!+^"[ !=7=TR&6'Q*734YJM?L]IKQ?H_Y#>_?;+S3(Q DR1 MUDVA;*KG.##SG]GO]/I-A[:P,4%[O0_)#WD]6KCDQUX$O$_34Q4:6=/)#N8% M>(%PCYM.TVWUK?:Z@?4#I_C#6&379P=;9/OS&Q]11"Y[EL0!.;4+ M.##NQ.M:1H^->X;I#AS3U'J#WGBD#;JC7E_="(D-T??KQ(W8(_SV%^"UWQ;W;7/\\H#)C.X3\1FN MQ Y9HA9T9QAHND0%0)82'F@TAJ%%E166?\RB.$[L;A(J!PM7G"28MB*Z065 M@/M55,E\'J^"^1D.TEAY,HD8S[@[NW/+ZNUDJN->X0M=12>3%,]]] M?>L%A&+TT,_+K 1?O](.@G;#OUY$ZMH='JT3?2O%F\77;?IJI<4%_\[4X4FC M].M.6]OS.\,V]WIRTV8UO6V9O2-LUM*/FN* 7&,1^+Y7$E5WA.O1[ZK ,LM'3=P_5#Y"O)O M.TQ.B%VY[EYE#88V-2!N'H2Y.-^*8-M/>U,@T^N@R6L$C,2E W'I!KJ>D]KO M)O"J79!E[ZE5.ZQ1#R;*'5[5#F]@HM4GEG#?PZ+.'SL?).'P&_;-8%'Y!-4# M1GY4 >"5-2@M.F&C6XR^J38]8"5+ NNY_W?K;M71!FC'W8^_ >Y538WH=EI] MV^FHFM99,&#<"157"M5K$Y:/@I5:*V^8W5575L/]4BJ:!#J2*HH3J@[ M"E'H8%BIN@W"PEB/84NR:!#N2+(H:=-^%+HP0(7J=E6GTQ"J$*;62@6A9A'. MG\%2E/:PW*'T*>S'[MZQ()QB<\!]_7J[#@R5:US7&C?@\?Z+_H&IY[ I:B^+ M^3XQ-A"@-I:81WFG4'[045WBFV;M%D#UPF?MW!==5F4%S 3#Q%0=JZ/JW;H&WC5H@)5$M$W^GU,BFB41[780[8QX MUI5X=CMXMGF4W'$1S6XHHMV 9?=^/,9R)JPMQ+QU[ 45L^$\HIX4TM:3:YS< MUB-*M9M--5\QFT()9\OUZU(V'4O9WD/;%F4]:Q+JGH9:3*FR+B^FJ$+Y[M\L M"HLDE(/U2(ZNZ3\W2#Q)7#L&KAGGQK6>Q+5;P37SS+AF=R2NW0JN6>?&-:V) MN'8#)MYN 0IQUT>U^#81HEACM]*/ZR31O7Q]931:U0ECZW4Z82K=YIGSKB1Z M'C'D41MZ&A(])7K6'2BI#3MKC?U*[+P^[-PKO%(;>M8:,3X)>LKL4;G#F]CA M#1B@O#?6IYIY636=RC%;?4UU#/C_ M5I/*U24"GKX>\#P(B-,L=4LU>EV)?E>.?IM+!,^#?EW)_VX' 3?7#9X' >TF M\C]2E'^B 9-]VE9^=F5?#,!<_WQUGCG.X0V2M\;.OUGDR.)?&D;Z:.'7&Y_=^*5NFNW.K@\?PX%P5MMJ^U3D M3C85V6S7D?!["<>M-I[X8_ ,1!I&K^^\>.B'\;QH_+-3,(/8*9A!G"X&#%A5 M I:4CN)=YU8;AO.N#]JN'Y05)T"+<^3W5(H[I]ILV;!B?E$%UZ>W^A4'A2]F M66=H\S"/(OBK9'BUTRMX2ECQ3-QCX'0>)TICPX\O^=9))MYCZQNT'$W&]W[A@V M^];U7]S7N/73,HPYWW[2LWFGK>OG7!PP+M^J?&4^;W0T&]8]S+E *FS<* M]N0B5>,B52F3IO7..+ZHNTAU""55'VYM1N\?[HL"R 3/NGYJ*>P=;J]:R=\T M8!R2 [+I[)?I!"R87K4Y )=9(H!4OZ_0 M8.>*HE'["R*$Y\?@"X?F)Y9\'O_!8'//K#JY4)X'DDO7/CC0U+SJ4(E9%5EO MC9AEM?IFSRD<87L^O+H!T^>#%WCQA(V4IS <[<=KKR_ROS^O3<'Y*T+S,(J@ MG!+-Z*@=TVI04%_FE)R'U]:(69@LXAAJIW; MD;0L:?E(^L(^M-S#C ;5='35UNNRP\Y/R]O24$L24[?FO>R8)=IM[;SB>N8 MCA7QQJ^ML^5VE>=2*%9;J9BO]24*9W!3KU]\-TCN@]'[O^?>#&.[&Y+]K$YG M+6<+/EO/V4H75Q5:GK*CLA>0IJ64QGQWOH&BFRM.V^![K)C]6 J@ K"L : @ M75%077=9+(@CE65%GSJ):G%QL^SB6'KP,Z3?61W]J.EW)3B7RS"U"C,&"J[K MM#E!9M=*L[LKIYSK'6?WS/!*7]K.D9+9CY4D;_>,%_(]_ 0^*U[H\W!"T3L[D M#9D0=E!"V&%U.Y<7*7D?L.CI58E?0:Y/#YIQ7,7BV1DBI\RXKF34EE"TWMU9 M^>6<$YGF$I7#MH9O1_,(*7M!UABB7E/5[K;HD+I]G,U8L!EK;3?XFY74\D;D M4%VY3ZGR\:_&9:3ISD:G42FR_QJ%<=7XDM7IMOJZZF@=53?T8R=5G=KA*VE/ MTEY%VML\Z:QFVK,OD/:NKA!\-RSZW1U.X,/H==GC=8ZZ\$M3'HW=R:B2ON:T M^NOJVC;ET=C=C5MI,[U6WZY==Y0ID+OR;6-ST+Q>OJUU,-O+[G;5WN'97C*S MMLEHM3E^6S-::8A671QUZC0)K6[4A?1A'@%JS"-&$G\,=PA_'^1*NAF!;QY% MQFIZD< _LG]&IKXN7>OIF*$!S!!K#.Q.@_)>)5+5CE2;&_35C%3H;^YUU4[' M;A!2W:A%S3LKXM"P<)R\U#14^>I%ZW$",9K5ZJ_GS&RUI8\3B-&ZQY#STNC9 MF26?,OZ@V?,SVG^/C_4T[9."IC,3NG9"R]5M_L=E7;:5(UID2JVI%*.R%2Z9TF M(M6-6J7% )>'/:+F>UB:S44SFE-&+74-S&K5-"SL"51OO>#Y,[TD.AZ_6K5F M=,1HCJKW.JIM.Y>"CC=KPL6QXP^%\.O>I ?>(S2*X6UY$B0%2=QK"?O]- M'YPC2'I9XO.F5?&-\WNKBTZ-0P EE9@$U%OR^S$V>H;JH,]H:QUP7D6U&OJ=.GKEB&RG8UL9],( M>S5Y8D&Y=?"));\P8''L"T#/&_Z9>#Y-67R E:,YO3-K3?H4L3TL"2S<4PU+ M5PVM9DM"-K627$!R@=WTHG-S 6K!:G9LU=8/3AEL#!?8TF@S;18#1V6;&<JTT^ZC2?NW@@QXX[O/=)D>9PK[/<+J= G_. M!.M<::D%7)":4B63B/%2A-C[KE"[E%AA<+^CD[?QRI.6#O#L32X+:NC=K5UM4950%6:L2&.;/5?V\J[ M>00:!_&+LW,)8Z?&?*KRPN 00P8G&"DT18:-8I0*-9!6+G)%RWZ(PNE7%T<0 M?P801?#Q:$ZPNT<)5%GE-+!&I:LZW0(R&L.KZ!Y0EHM1N7BJ(>"$ZP5P7!>O_N5[A@ MWNW(2QAB!(C#?^//7>4)7U4O+'^%)7\+X_AS\&YQLL]C#D&M,@BI(D/M6>NX MO1F;US!+KPN3MB:J'@65K%:_:ZM:=ST%:$=4JN/B-Q^]YIL'>\WHJF9!!75[ M7?M;[OF[4?\KZY1Z6&=@"V?^[M89N(GM?[N5V_]^1*GUY(&YP2]X4]=?+ 19 M[?IKV$63VM,UE?L%__O-R/@RMU^^=X*=JRW M"F[PW!9$M7O[.IRPT1P9$PXA2=AOR Y7+_,1SW0*H.*LW^,]L=63*Q2] M0SO]@H"8N*/E'K]HC\T#0,6(\/IVYX;5 MR\:Z \BQK9UPJQR5G3/,&[S0#+OVI9EUFX^!3RV^S;*DHDE!5XT!5:J MD=I&@AN"4#GU)J_=5"9'O=7O:HYJF^NQ\]VKH20E2DIL'"4>4Q9^8LGADA 3 MH"P@/:TK):&DOQNGOVVSWH^BBYI2%Y44>+T46%$7W4R")]!%K5;?O]W.P:/T3D5_-]I-Z@MPV9HZ -]6\YIJ)+AY6LN1 MU%&[U7<<1^T5U"K)_KB-1JZ*FM9F[#J!IN6T^J:E Z:9S>B!))'LS!RL%B4" M^WL;EMKK'>S0DJC59-3:/'7J.,+1ZDCA>*'(55$X;L:NXPM'2P,VUK%4S5S' M-"DI7&C9CUPF4!FS%T34+,:UR[$(BV15PL%J4 M!JO5M[N2?5T[9MGGD(U=*1LO%+DJRL;-V'4"V8A3:JUB-B9E8U.1[)@=C>[^S:*P ,6Z'>S@YNB:_K/$L=O%L6/H"5U-/(QF[NL0M MB5O'E8R&E(P2QXXC&K45?)KW2'-M+GO@6[CN]S[W;).^H8MG2Y7PR.'9.!U:(P8"#'[JF= MWGJS$,F^K@BU-@^Q.9)L=*1LO%#DJB@;-V/7"61CK]7O6FK/.:3X2>+8]3"P M.F2CC?/S>K;:L^JJH&Z,-7UY\>@/[G,8T5 71 R\!MX"74:GCTMVYV@H:6NM MO@&F3@U-?*2#M-%ZP[E[)=HZ8)IMJKISB%$MD>QZ.%@MB@.V >RHFKT^=U>R MKRO"K',TN+--*1LO%+DJRL9S]VZS+92-NMKIK<]ZE[*QJ4AV3 Y6BVS$MF2Z M"DI7@]C7C4:H'^8QO)M%"Y-:1JB/2V_GZ$%F8XA'M7J::NCK5H[TPS<:O2KJ M#.?N0F8[K;[551VCAG:O$L>N@(75HC+TB($98/3T#M8:)'(U&;GJ;T.V,1/7 MJ:]&1>+5Y>+54;.]'4WBF,2Q/03C9JS2FXA5QXA-'S)[LW*'_JHS.Z^L0W_E MXU\-^9XCS.T8K;ZI:K:N]@[/OMQCVNPYG;"2 F^! BMY+\Z="^!@OS?5MC2U MJ]?0)E92HJ3$YIS[>+*P#@^/@T54JJEKJF%+22CI[[;I[QQI)0ZV#E0M!X2? M?7"VLZ1 28&-H\!*NNBY,&4>#Q96(LNZK3ZO9ZM M6H?'&D]%?<=(7]K+[5KC&CF@&0"643C'VI]5J,E=REW*7=:RRZNO*[1+NO2D M(D3Q/7?@^5ZRW]R8$X2MY!IRC<:O4<)']'V4D2J:4S.83+'&^V6) SIWY+<9.\BY5-*.PNKG8U1]6Z M!Y= [G-;9\Z*DL1W2\170Y";J*_0JY@2HL?JG4T$E.TJ6D MRV;2Y=&$(M#B)Y94ICNMU;<[IFITU\MII4B4I'>KI%?LX:]5'^WI4A^5Q'<]'G\/&*1]K4V[8%%S<+8P]_\S9BP,N V_W\ MXHV227IIN0?%P3J+1]Q!'/KSI/R1W-F&#"XXJAOUM,XVW--Q3YJ6728'4.Z_ MD\Q7/W.?V-T@8NZW.W<,FWWK^B_N:]SZ:>E,4R^X6X%A2R&PP]UU>^)O#! M%/8:KQV*;[W_OP817%[!U:\02,H4#!M,X3*H_/<\3KSQ*R=8#_>6O#6Z)-'. M@=./$Z:X3T\1>P(H*&Y.!5'8]QD"3B&2!I !,+U%G)?ZQL:*&XRR& RP4'AH MZ,]C8 !*. ;F7!"Q29=;K!4CTU42V$DRB1BC-6/ONS*%1R:P) !II C&_VD^ MA8,.5^M&4^8^8M[;=R&H5 #6+_##'[L;N:]WK\R- M[EBPX.Q6J__/>< X%S&_P\ M7LW1JBRGL&&49A?V%*$S5-OZ*7>.29Q=6]4*,LGVV/GFLHR:MXY]7#JJV5VO MQMACYYOG8-6\P!8.TG^['0U0W%0M>[V/9EULY1RGTI%;6JK567=TU<9SSG$NH]7OZJIC MK1LKM3&D&VRJUV45RWJ&A%^F!3=#U:\:V7P/N'6[4_OB^ M*[!>LL3 &F41_BHW*>"G?-I->I/*_4+[R]T=_3OKA[CZXW. _DQ:->?\Z_]% M65D@ZA9RK5 2+H2=%Y"L _)@3Z$7/"EDP@.*SP#+ 5;T+8.33TETCETO4IY= M?T[:^#W)'0#&NU^5]P&+GE[_(U:&J]TK8^4-F.@3A9OGS_2R@CWSNP[0;$A_ M5+3W^$?E9>(-)\H+BT Z#_^>>Z F*(-791[C:7YW7T$&:C:MY@58=<#H$-F^ MN$,!3+>)-\M!;&VE^UGD^21H 9S*S(V25+NX9T]>S)_@'@>NL_"/M[P'?C%@ M"&BAML ;@2VZ@$^1B_=]AW>O#-P8?A@^PS*N,B/=@?0?]LP"Y8W]HX(:0BP@ M@2^%UWAQ@A?VX@&L<9>S*/QO8%/P@@@?F^.M#L.G@.]8TL[/]RN*8]Y^Y)B# M][2F/L+%S<&V)["[_I"[V@%GB'H [LLW.67)!"\/KQ*_C=C4]0+\[3QFX[D/ MM#@&8LHU>TU8-&WOJ&*FROK7X82-YCX+QQN*X#[,DWG$\J=^SPWR1Z2P1UC^ M%S\)%#X/&+DU$(:@SLXN6;=W4FSAKM>,$&P.P9H.L"[?#]\B=^N_KR4)*9N M].0%E#AK+4<$,M=6L0>(P[W_OSAWSAR?Y-@%,O+=6IG_\//+BF>^^OO4" M(@9ZZ&?Q;N$MQ=>O.'1I-_QKX3DTS$[;ZO ,X2CO:Q:.Q7:G*&XBOM2-MFYM M^'[CPYN^[!YK7?AVWV>W?7F4=2]NP[:Q^\+%^>I&IVD]RVJJO^'TWZ0*G$]A M<)?))&%H*0N1$C>E&N;TPS#DF> MDCPKDJ>]0IXQ;/]_M^YVSQM\1=HW3*172Z%. M@RFTQ^=IZX?/Q:QTO4WJ9GX!1$8*OR[G:E^.HOL)%GY\8?XS^YV21ZH2IH8E MH79/[>EUM7YL4$\YB73'5M^087P.6&6LTUK]GJ5:M?4;E4C72*0[CD:R+])A M*:!MU3%)3,X?K473,.3,T;"6(?&NR7BWJF6< MA\LYH%T8MMHKJ.^2_HMS:!>6(AT8EZ5>? CGE6.7FB@K[IAUQ2ZE+=E(9#N> M=K$/VND4F3-5QZZK::1$NT:B7=W*Q5[(IF%LQ%1[FO1F].(=Z M4<[HB>Z*F/P]WM;>Q*>W^J:C=@YO4"JMR"9CVW'TB\-0SP"^#S9EQ^I*W+MF MW#M.G.0PW#,!]QQ+U729CW%V;%JO>6M*HUN9PWXX<*Z(D>WM$=JC19-NM?J. MU5-[3EU644T7>D'6^S'I^\)1^6!]<+_&8WH7L-KHJ%I!5\U;QFHIJ:2D:I3* MO2=Y8U!:[?: P ^OZ6@&@>_4^+U:"Z0=>HN5K]*P;MA_95W7L-.;JSRY7H - MW[#)EQ=DK<>V=.F#7]39VO=7V,1O81Q_#M*^)(^+[53&::?5MS75*&K8*KH+ MKO7/Q8Y;BFBVI2O*:,[29KY#/Z1&:G#B(: =0HM19T%L9S>:\Z/'0)?Q2@>[ MPMD"FW$)#^!U+:/'QCW#= >.:6J]06\\T@;=4:^KC]V!V_LORVKU\PW<3]R" MJY/U3*K<@LLX5@F^]1^%7X%K( M5'B;4N4+,1-D-+F^L[^&X>C%\WWEXW3F>A$V%RSM[+T7K*RY) M+!5JV.E]76U;$FL?/WU8TM?@C@8L"L=XU7$XYC>=771!VWJ UQ %W LP\1A[ M0J[)-J/3ZB]'LE[KL$TBH=^U($'MU56<90'?=558#0!DR-HH_1.$44>/S M^(O8SW.E60;=!90 SPOZG0-E^KRS[KH6G%<]RJE*+Z0JH[6%KS2>D7RDBP\8 MO\VT07&2SE..SGOB*QOD@D(JJ>)ND_7;C%"#M.&^9R8_@?4?EE MWV&SP1/O9DT:L/_*=\UP6!#+;1PW-V:@UF(KZ24"HWW@*6%KSUZ,$E%YP32$ MP2N";.(^,^4)=N'"JHNI& M N8"9@3>=3Q6?P8V>3=^6[8G?G@ .[B\,6'H!Z>KK?(6&6$S# MD3?V>%=NP O.5_&YW('3]Z'NS5$LQI__P[!40'>\<6HXK&Y_3K1VSI^>MH[[ M1>8,*[@)[2M&V,%+\HW%V\K],$&) ">=^ZA31&C,@2X1+:XE?>GB!@;>G1L M%OF &H@.<*7\00YD_D4X /).FP]'S)L.YA%"*WA58)4H&<.OUFX>4(E_ OP! M.X/SU1;WG6T4T)0PIVA_:KHA6,%+?+Z#L3<&JQ0@BS8[-2:?#R>T3!PKU/.? M8U%VF6WE%QPD'>&PL)G[RM%] ;8,1S<,E]A%"C3%!W*? MG/Z*S%VNB'";Y@B@!Z*2VK%YZM/#@G@_<\K=P[%B6*V^KJMZ07%V#EDVL&=U M,<:!7"KS)$Z PQ!Q#8>\B3WHXLQ[)I?&P/61JF+!Y5*P9#(AXRNY(0]Q?AC# MS 71B(_ X^]@751-%4,37A[D;22K8@\EWX"Q(&6];-16_F(Y,N&[8H(UC.&T M<>I+2B9>-%JV*G0#Y2'_.N.F9&4$0\_WN):53G42PQ36_5 &-GD'4\E4 MCJMOXA^!GL8NB2.T N!J<3; BP?WG_I*&8[.P(.(,0MGEX8:REK)^ITFL?X-3P2@7#']QS9[$ '(-=,2@)E"DP9, )2,(QWM-IUZ,S(@/ MR(G)"S1&Q5859B\: KD8SL+<2:?G@'C!U=JH*2PMA]8$OD;H_RB4N?&F$2K_R,%9G+"%+5:)SW)S9"44MT6$K+/,4O?IG@$GK8,5'[M@Z!GB49;5 MUK3N#^7AJ!]*@T):V^G9I5]WVEKYHQN6=:QVKV/LM*R(1)6%82XIVD+!)6>7 MX-(EG:I:#.D7'+D%?.8AG X$_6Z*%!G==>^JT2V89D53W+*!'W2_<%(_ 9YS3!QJVHEG<]BIP_@8+X:.\:=VG M?[=^Y#XY?DTBG/>51<_>$'W(O_WVH+SY'_^/H^N=G^DG]+?V\X^HTL=S-R#[ MDANM8HQ?9MR Q %8X5_S.'/%Y;^%6\XD&G]XR9>;"XDL/9DY-]-GA6@CZX#6 M4>EUZ8"YJ9LD:%IGYU@@7'J:MJ)\3B<4:BD(:33AXK>42X&F]9^9.,^@N+)# M,?PPMR,A8>G(&1PU^V>%4H+XUV'FVD!?I\?S-LAVXQ/=5K;'M8IBB)7>#ID] M(P+*XKE87#>7\.@/0('OB;'O[@P>^DZSVGSTS'> >)Y0HG.RBE]!89@67? Z M$-(+>V:P)5^,(_4"-'+#".=$4V-U:9*S;V1XZ_#P6]:KB945^*+O57Z]^^U&<.@/-F,\PS(7R MQ%!*H=15P[E*[=8-G Z@=W!0$%A]A+ZRO%F0$.F M.P$U%7BPF$R.O -N$D>3;W&M97ZT#%/$X/(Y=Y_7 9ML;OL*3![R=_(8 =<> MLPCV_QG]*WL-<^\:O5;?Z)1 +76TY<:C\N&:*=60>Y$#@@@(.22G\AT)8[(3 M5;#IS ]?V;YD\5X\OHDRS,XFRD@W@/ZT4!7#(M/X57:>%0=;*N>W045,E\75 M1.)<$8\C-]3".BKAO9S-CY9X\)*T:"L?BC9/W) G-RQ&U,YGW VV-*A6+7 E MSMR4<;II),E]RN*"Z929 ML.;!-A:'H T2^N7$1DY@HLJ-]^#ZR[*S9$.<M\T\,:@[M-KUF,6"X!&+R6 M?9^1"C*/4N5/F6$<-/2]D$^6Q2&M 1M[R<(+ZX?!TQW";N$!2/$L3B+F3A5Q M"1G)Q,M!S#HFCI\A YF0=L2XHX, ["9IF!]V3.B2H>\L[PC9K.62QI,97PN5 M)YN4S*>0YP2!F/D+O\"(=.Y%Y.")5CFG2CI$XB5S]/2YRD"8?+1./$D=\$+D M"B;A+OTRO\&<7RNW)SZAN0W67985DOL678GJ12"E,/;II MZL(.>(IHBGQBF/<-+U:*,]^P$ CK1E66E!ZMH<99YJ@WY8ZJ^6M6%=.2J>-F M@;?#U-;]-#RJF:DEW LZGT[!$OTW!;'9BCDR<[U1IIT*D5; FA8$B,A51+ZI M\+A+^5P!+2,7*F(E6V:%;XS'U891-QG8,V1@3P;V[FXM2,.%3U?2<(5? M_0Z=Z&]M?6=W:\EK.8S M6^3H$D(\N]6S+KEME"\@N]Y6B/8LU4]O 4JEEBUVPZ'FQI-#.M-<60%XT0FO MIHK[5#YB4R_W$9^]%]*A-8670-3W!1YU[H$7_OA2QGCS'4S/'RLPC?)8P=F[ ME]Z"2!34@_YVHIR]B.4F.O%M$BB[4DK*J[YP:%>F%IR-I6FJ=O@L9BEK]E2[ M,:HF BB+*Y8BYL@B9@'XI5]4)B +.^R8IJZ:W;HZ[#1(X#29=*A-Y8K[=-D# MFRRN^Q I=*M=Z6JBM,HDU6WU=16#(5WCX%Z+E:ZP27UB2_LL[K#&]M,>PU_3 M9%[Q<5N(M""DLHO_JUH?ZAO2:^Z785Q[-^$Z#2K-:#8LOT28\I*\JLK,=T7J M!)82SGC'(&E>'6Y>I2#^@@"^#T;O4_!6%E[VM3OOFDXM']/$3VE"U4$9&3@K M4X+3ZIOUN!::9Q==!B7DE1XO:RDKTN3NLJ8*BW)N*4SVM(5X[UZ_<#*74(&T MR@2$LP95JZ>IAK[>_NMRA4D-'>2E*;Z!8Z\6V%3#.JN#UC=.T+8ZZQUV#VH9 M?5SK^S9B*\)DW24EL-'F:]-EYSO&G5=+.;[8VRAZ9K>E6)97/.W"IXH:W:\R MK#\X6"N'>BVMU7=L374*!I;]>(G*Y2%#RZY),AX?Y7)C%>XYMZR,?'H=R'=* M]_1EM@/?#6,^@4&SJ0SF$)9]391U&IWS/ABM$]@>XTLL RT@S.8!8^B6=-&& M=$TIQJ'WBVY+(=:B8]/CY2ALP)*U(,N;M-O]OLRQ>.#,;0Y:JA,RU\ZOLB$T M O]2)L4G!_"VKY49D]GJV[JN]GI:O0'J@Z[RV".5JDQ*NHBV0(]94XPX/R0" M:_:R]A'JLEZQZD;E)<.%*5P4IQMML"-YQ^ZL*AZ;,S/>TP.[>/LL7Z\<,&2Z MV/H=N6S:! =KJ$5GZ[9R__5!<3J6PF*\2B^>4 GSE+G8GXIJKD77A%RK!VH7 M'J#3@(JI7=B:&\-6Z'Q9NY $@$Y]U >BN1["@5,,;G&Q-_B-@!;O+2Y>#GN& M%\]CQ:,V ]B1J+A@FJH=W8#WL 9H8;7U:XAU]P&CS@ZYCO$[%\9>&D8NRU)1 M5UJ,8=@:'JZ;>@^-E'F<-LSP H JXYV)W.&$MVH071(7[=CQZ1%.P.&U[(06 MU+U9O'TNFF[P=681=JA7J/4"["MBR3RBYE7I!D0/C.@;2U:VG\89-E+2HE;? MB[_%:SWQJ526MV1/>RA@:UXX#1"O&.@U"ZG*'WO.TQ@$WB,I?;MHLBBZ\(K& M$U'^I]2*$2 <3KVA\IR?AL9;,SS\OU_X+##1,FK$D[A4Q0,]%C$U>L-5 M_\->[^NQ*2X5M0#UJUAO;:'F!JR\9"*M1D-\7;.AC M,)LGF5#%ZL=4JF(NY;K/^0?L5@;2RYN)!LRBQ].BI\8< 96D#4,()]@H19,K M:6K_F2/92-Q5COVI!67D&[E&2FB;9!/OL Y7-)S[.>;B*GR3B$"@4V #'6X$ MX%B/F;=MXE 9(NDU(U*7-U9>1Z04Y[.949RCY$:2K'%!$K(1H\XXV/XU2'QD M(D*T\?$4"]B["6])$S%L#X.OH1O#5_K+MS+TA ( ;PO]YT-[P#<%3Q\W81XV MV!-E(8+! ;TFKW=C;+[_QK1^!&B]QBNMJXC%CCE8\:J#$>@!:4/^=% ._="- M?(\WZ>=32!:=VJ.BKKL1<.-G3*@JZSC=0(BFI0_ZP<$H=;Y83%N:7%.O&6^T$;FELVIB--N MT@OIFPV H8Y.*##GM Z]S:7.THSF?Z3J=*:2%O-F;'6-X_URBDB:7,8;(TU M:4"13Q,J9I2(EDYMXOVTLA9AJ VLM+E;[3LFNI0M=9&Z"K[R1XI!B'U@0L?4 MB W;;?'Y'D5TR(58M?%N76.C%R%M IPO\/T2A1_0&!);K.Q,L%O]KNZHCK8^ M@YU.>[(#?&(@4]%RP&&]E8^1YGMUU@,BRZ/*U*PK#A%3^:A>(Q.^F=HJ=.*T M 2_@^Q-U#+P*''_,30+AYD&1A$&S#6R&<)C.Y^+,-%7SJ6/LBI-B:ZZ[Z >\ M&!Q-_=J\)!ACWR27L-A&(V(+?$6 MRNB@T.%J6Q]PU?^D57/ZG-H2 [;*9>H,ARO&7.H(NY,&V2UV* MW_^)MR'DL]8R XHL,F&]THO7U4'NPP&L#6>D_^8LX27[*5ZRL<495N]RW5.. MOR)W>6JUI5WL=KBR%Y=[K:(1;_^4-H5K+P;+4D-C#UM4X7TE8'D.YKRYBT ; M/J('!Q7L%S1SA:+DXBZC!% ML)^ >9X##F_I1NB32O#U+EWPS\5$M4PI&#&:TX" Y,Y"\\ED8LS6I M*P??K/;',F5_+-D?:Z?^6$;I%39,?N=TJBPQC^P+85Z(!N5 M;<";3()R@VH-GX;'^'1,T7YT3BO0:DS8*705;KPP4MZ C'4ZUIW5N3,Z=]J/ MQVH76=Y53+^ R]+T'W;MY[A3X\5P_/9(<-["#$[;J,VQVI:^URP>RVYKO?*O M]VW4IO7:)MUE]64W?V5H\U:=7:5VZ%$>$->"4>B\P3[#QG'4]_05JO' MA[8J9?-:]VV =P5WL39/=7W4T*6F.55(M1=&0([MJPI)V@UUMSN H6)]?MW9 MQ/7O\)8J W;MV'-P)4#3#KY[>EK1":\]S:Q2UZZ2YD,/G+54];S"COI:UU0- MZ^ RP1J+(6JJ#I1D=#ED1'-G]-5QI!=4@'-)6)>V+UO66GW3 M,57',1M4O7V&TK3+PZC]&)FLL6_<11Z+-:R7-^W+)/16OVOV5-T\N)+@) 5. M$A_/IR')TK5C^72R>'5-7IW5^IT&NG5VVJ+TZ\A.S&?QA'P*@^&> I5JAG7; M4;7:^M=4:NH>#I-^;&+'Z$!W[QP^&WA7COKL^S M[G9Q.0:JP Q).IJS5I\_OS'5LX![E"2\\Q<4O'8E#7Z]"E%\@ORON"CQ3#4, MG->O__?S/%)\ AV67@58F>7[KVE) U9D-I;]+L^9%Y?(PC&:AZ#4R]H9, M5<8>\T?B7S&O*\@H%&K+OZ#. FI[01\+!3# PN<&P;G M>^K1PF:\>OP%JT!XZP*JH\>B_(BJX:?"48TUXMCGB6!.$'J9,!R?RHO+^<=3 MAA6%5-+@NW%,M9"$QL/(@]4]ERKFX#ZX$RB,5B^SK7S%"C>\Y10/L_=16>!G+5(D8GPM*#_U(FP42O"M[:N&64A7?'?!>/=$3H@I+ MANT?V\I?C(I,L0B3*D*I142ZCA*SF8OX!FB:U:Y2I6#6,2E.8 ^NC]VELG+; MY46N"[D^KY+H:FWU'[C(73B^P\K9M,$9<4PE',#!>..Q+ F:KK#@:XRG42^& M%.3#K'!LF"\<&[@^[UHP002E$MIX4;.\6O=*O5)62I3QI@"=AIP>J.A_Z:Z7 M>[E0WRK$JPP$&3HNNDGPSVGWN(6L"Q; B=^8V--[Y.PBCAA;^KTB!ML3%QGQF'ID>=NOB/QXJFIWT 0F0P6&^< M]L+*BIS%G2YASL2Z/4W 66J]",65P;6$ID\]KYC Y$4QW$%) _B MQ"I'IXR@L#.4@@73Q -PD_A;KY RVLKZUA8-'4A.>]^7&SNBAXCUWVCK1+3!3MV&K'7D\47>ZSF9^*\7P7TYRU(L1NRM3.SLIL8R=6 M1HUATNYI\=M2$_<0.9F5'I<8Q 3R4[NQ3*N;>HPJN['TGK.[MZGJET=9US:N M>,.UC%*N,6-NZQJ]@S(DFU?X^Q68W>^6J?65?;\*4K"V%7.WNC@]3U63TE-=&;QW%BK<_!LL%..X:M59[X 8BD(*8E!,EQ!8-_Y!(XB]_;! MJH%L+E'EA-?#?S:R'\+(S^,_8SY2XK- QH_!>X&*'\)HF46E::BORSR*HBMW M_V916,2>NEG^W/65(4G"N5+"V2RX3T0Y=A,IYQB>R0L@C+_$O)^[=-[/:@(% M!?#OU@+3Q[#D:P)Q4RFT.)ZD;]:>T_NYY]?S1WH[].4CW(VV1'FPP^';T3S" M$-."X!S0I-MV9RVBA+^2-UG739HGN,G>SC=YH^;(&C];'H-7$R.[Z2KNBN/? MBH>_[40C[\3=_0%7]X6/BRJ:!^=T6OWU-)6SJ!)GN(X?) 8?&8/-XV.P)C&X MN#JC9%SU3ADZBY+3^#X8Y6I->*93 MIS\YNZ4_83Y?VK9<_%3T+E_/C*HS$^JTN4Z]3KMC.7L-87#:77._(0Q;IB68 MO?JG)3AMP[FHS>XVAZ+^T0[7-GE@92+#SH6/UP:'FY_ L%JL=&X_A)S:L$&! MM)N-2P5!2!E/E&&17<,BF\M3E@V\E1A)U:P&QVSU>WI'[?8ZS;#W)'U(^MA& M'YM'3M=+']3%23'BP0?J$[&A\<3K/TCLQ6G3G?;^;>*,1"]XB M(76W_\1>T\*SC*S7]4EHR_\CQ884&S6J55DBR9Z#%ARGU; MA=FD%O1+#;DV-: 7MV7J;1L3PV8AGXCQEO+SO&8>%*?M+!YQ!W"V M>5+^2%%:VSF2$C5K.34O_]])%EN9N4_L;A Q]]N=.X;-OG7]%_:>_IFP66]/'F"7ZD/7V?O7!#Z@$O^U0Y6/4-C6=GUC@_5+[/5Z>%/\C/7^[F+'].2U)(&Y5] I MOU?0*?_#')9A6??NK$WWU$MX.UE@N"RB%MY#;,CK^Y0)VY"LX=YN_5]?L+7R MN;LF$O1/G4EL]'K$%LM3B3=U3=339VMN%GBLJ2(]>_<-'S!4Y(83=U=;S/^V MGK5YHS74_P+6I&B-ZFUVY69-?C:VVK9/V!K4A;<3$*X\!<)_''SRTT_Y% M)<85S3F,MUL=U78.GL)<]3)E@Z;JW$D_A@?Y1HM$CT.5[^;L$RSX^,+\9\8[ M]%:FR1Z8V(:N6MT&AOAO4BG8KU.O#).>E.SPIAY?PHK4!DHR4)NN ;75)0$; M0VT7*N1,*>0NA-IPC%!E>M-:?;NK.IHCA=NYT8;(S9+"[3+([4,XKVK?V1T= M[#M#-?4&9@3=FG![Q/F % J3 N[T%$==9#:2VV/X"_OB>J-[O**]"CK<\0?36#$+$ZDN&PH5?X9I&TYV>C]]R'\])YF"U4F44PJZW2!2!O2 M/>_FA>89HZ#%:8 ;,P%O*DQ:!WQNA'G5D_-J=[JU9:W7?I7UY+V6M.<\+'.O M*3TT'[.9Z(!,8-(IRH2YH[_G;@3J1:SXX=#EVH;RE^LG$W>J*K^[<>P.)_.8 M)4DL9K>+>>V4)>?.9E'X'= E8?ZK4HJP\=_C9"/&?OST8:M]^A5WRCZPRDU8 M[([=ZIN&VBDP19685E7&L"P>"( \'\-W\PA>J\(-A=1U&YMUAN.Q-V0*W-R0 MJ3A*W@.=#$'YNQL!6$3?.[.MB(IF_U4E*%/>'T GFV2/@^QK'(J^#*7W?,1] M91 Y "(3+(/U(7!MY?/*&0U5>6$*971Q[314DA@FGE"7.NU^GI7-;5U1V-E M7(LYLF'6,I#\,R5^(D8MD2W^?&DE!?X2C8';RH+F<_<"@'SV1GR$%0 W\3+G M )9;$V&//7C=FVJ3'HH N3X68.M4 %OKM/K6:F+KCWPF@/+B)1-"JG@^1$4; M]QG.$+Z4W0WT!E_PLVZ MT:LBF O==L3^G@/O23TY># <6YKQ%Q7^"Z<&@Q%'!"3N=T:4- 5&I."^$X:I M[@Q9&+(*CD+N$^#'$SXP8E2)00"KQJ:ZYA83"G;X$,:5:4K36WW#4?4"_@W, M"0AB&,:"W:3H#*8S(+G =P$P:A*=I 0Q C)@4P_/#_P8@$6LA7X3T8"W 4M> M& NJPL#:"(/4?_,AC! <@$((D/@!T]0!F0&+[X/1(UY0\C%WA,H0,\C7T^D4 M"SV\\(K'ZC;B6.3"TJWB8W%NM[C).(E<5'_N4!7*Q#!)8('Z7$+!0RG:T'0@ M04^<(P)N+$N>6DFB%MFM62!R3-4INFE8GY^\K7P,%'.J.%E. M!%9>5W(UBJ4*GOX1NA/JP\@XD^!!4Y!ATF%?E M"61T@I/;Q4HA+^P"K=CWQAXQ?WQKJAGB:_DG]""IBM_8J\*F,S]\9:@@C=+U M53C LQ>'0K=&X5]T@:AC> 'G M=KBQ5-](+W19Y>]R@0L_)[1V03C#[]$*Y+B=(C1B"GZ/,?OE);2N\@;7;^4Q MI_5C>* MI1M]8\C\_#E; C6\5]1&4QY&G\BC^H$:7%6/J.*X,A_OYC8Z3Z['B_212UR MS.M[/<%URG9\)O;1VZU\%W97.\->J'AYI>(^(C,6C_;+ZYH6>/\"LND3@?[S MF//W^Q3:P.!_Q0NJRM=US"!W'-7HK8<'#N,V3?&@O^,.-L2YV/O.#:M8XRX^FZZIPLDF[G-.PZS,=IR-GHNC:XFZ3EIBF0MK@:PA.0!S"$M^ MP%1* ';C7Z2$NIMY&N-4:9,9'^F;96XNG=QE-YR:ZZN;,TE6W-M; H+'#\Z](KV-!FD7QF&I02ZI3NKAPD<(CU=%_T5GF WP2+P[NM/JEJDF- M25X$_<%V9!R4(.-_DB:=(N,'@-%_(HBTRAB)8S=TU2H-OW-6Q49W+I\8+^Q? MTE*7KV;9CDC)?L2Y5GTW9'3VO:%22ME.)[6QC;\$..\Y-.E+Y,#9#1;<.LM_.+L(-G8WJ7+])5?2NK<[,YHW@5YO.T9WGPGT1J_MF&;MX]=[;=/: M=QS\IN\LQZY_5+S1MDSK0C;KM+7>I0#6:?=LYT+VJG7:NFGLM.R6&2>-K/XJ M;@_*_=NYZ'+:+Y2$V@YE81?5#)4[K_@1PS$9T=5/>FT=8M]_9]'0BQF!@RP? M_A>+Z'])];EA\*2J*0%#Z*?T=P'<))36H)35$-"_?O/&MPRE^]2/0\#X&"1@ M!,;>D/Y%9DY17^;*!;D[3] XCV#:;F<0K#[/DSAQ@Q$5#;UC0T:!'E&:5=X8 M5;;DV.H/-(Z5:"-D:>[FN,"MZGTQ*"BD=TQ5[]F7TL+CO&/6MYYI9UH_9>1D MU\KYO?R\9=60F]%_RM$RL\,>,'D,B^A= M'RNZ]>TEW8;3ZMMMH[/F1*=PI!R@(OGZ\1O_K/#SVK,84B\%C1=NFU M^HZCJQU[O<5(0SE\31.[][8P1$RS5W](HJ;?5.+#,=U#6SJA! MV41FISR;Z'S=!>ON8WE"^KQ8#T"WT 2@;DBUX.DBTVB;TF]J)8EC!]C&!XX9 MOV(UJ>B$E\F&-Z*W?IB%&Q^2H;45X75"^+I&AE\X!V[D&ON&EZY%[4M1^!#% M[_I&FNRM^*$+^2.E'O.,?,XVN+LYGRB9@7U9KQM[W]GH[M\L"HNXB8'Y_XZN MZ3\W:*[)&3QCH'&C]/76)&2.MCYMVHF?VF-G9;B_'"+T:4]MX' M6,2.=S.'G:3J7F6CVVSU3;W0YO[QQI2]BPA,_ .MT;M_&&V]@="6,AJICT&L1L3QV,.%] %SMHU&%?"P#DK*V" MP8W2QCZ8\'+7MI^-;6&NB6H[CMJSU\?1[>?BV_W6+\@!N-NACN$>/#*1-8T3 M58X65#C_93*7,]I,.?Y2T6:R# P;=.H:4BYYBN0IDJ>O#0ZCF%T\'N^ M#T;OQ2T_AOC1P?$^R\)X7P=[QYH'IQO4CRT7Z*H]QAKGIL^F<;U]*Y!K =!E M,JXS&C3;>5=5.Z=[C)84-\JO+D$<%]^KY*R2LS:#LYXZ]K.=HV:=&P^,#>%, M8+NKVN;!M>G-8;9D%OY$GUG%[!-&W8 M>MUS2 [>LI]WLL6/]%%O66GVGISH%LVWWV/$^,^@J[QBC?XZE M=@M*CU2<"XH,CT6@QQ 5_/"/ZW&E>W7EXVX;)8$8YY[M/3LZKNKL-\" .&R:NOWPWPS!. M\A>9#=>,E\:6\ FI.)KRE25Y'/"J,CY[\_S8]V*>[5<6/8/Q58SRGT*Q2])) MXD<\5O[[!SC4IS#Y%X.WICNM3"98H&=9JEG@;R;*3B9P=G<**D;"!X$.6!XP M(:@ BIO-/5+2N4<<\;F6I:JNT7#!Q M$%?RNI;18^.>8;H#QS2UWJ W'FF#[JC7U9Z'<"7E$^J5#1 MM/:NP[[3&\VF-;WSXJ$?QEBQM3X*J=M=GT38[>)JRP.2<#6%EE-^9RXN1EU+ ME#7E*W>VGW23^\2E-65X7"P;[@X,2+NP_W77Y3[X1")'"77 M5[1NB!4^A"-O#!H^P8Q/$X[SR[@Q+<"^BRG$?/AO,G&!681S?R2X!?-P14#U"/V]]S#<89X:%@)]@EPF;K?O2E,0]X' M] JZ2P&AW$)O#YH%?E8J2G=^I!W0BF]Q>+PWW&%/OR'\%>W(F]JX!>5.^3-P M1W@W<-U_ST.:3XX$&A-AD48M""CFD^BQUP2Z"#@MQGEB]%C<5OYBRG >1? K M(,=12,H7GX,9O"KBR,HXFX%;O(I$L3I13%?NSHIDG]>X5 A<+.)CXE>1;NC/ M1WRLJ4"6MI*>0CPL?K/RY [(B8OB'-YEM%8+%HJ!U_IN5+[,"F4@A]YV-.*N MR'US3)O>-1^@]S$!:D !AF)]#FIYPJ)I*L_7Q1[1&9%5"IPUDL(]Y7<-HGT6 MA<\>0G? _/!%4EFM5&:AS /8NP!EN!,QH+RZ91 O6Y[H=9*^;7V1'T'A4NF)<#!D% MBU$G7MQXQ&9AE'!\:'$>Q^^QE6KRP[SW?.#ZI#:#J@P/"R5RA-.\O63)X$ O M#5H4_$#P7.P1J]KJ:#B"1ZJB]WSPRE5HY<5+)@((139!>XLI6^@]3%%9X)NI MMVV<#SL+8_)SO"7?%XB@G].AEN3\RSTHZ*6S>,0=P/W,D_)'CEY^W.OL^>9:6\ W015OV7HBY@ M135)>4AS1V1O%V6@"_"MC3#F2X+A[1P;T."ON%:XO2#@H+FVQ_EIPWI4%D_+ M_;][N!UO>+CP5]@ Q7# /N.&V)K=+Z%#T"F(C]PP9/X,P%;R,7"^ Q".(2@T M?8.@N*S&%,40?L?B8>21,^T8S79K@MHI,7,GR0L6+Z9[2)!50+65V*&$V;9,&1O"\^E^=SE&9T M]4+YW.6T.TTBE9N4FVP<(VNRS;"I1'/]O[^3\X,L5\PE3%Z5&!D;18*;(HWE M&G*- ]=H ,^XO.8U93QCE_^^GT?A5R]ARA=L#*]\#(;M8RA$5:!]G07>5UJA M[70VUD'=IUGK'\+HJ^NSKYG0>L<&R>)?E#]BV3A!U>Y<\01522?72B>;2]Z/)51L30H522P-.%HU8C%.+E1T*50D MG33@:-7HQ-Q()Y\Q=09;#$1LPH+8>V9@"X=3]EL8Q^4T=$^UDAA'^,22S^-' M]WMEH6-@:RC5K&U,X/%HJ0'.F0DT4FBXT2WN2%B+4+.ED).TIND-TYOFYOLGLV=Y=3ESCHO MB1[%UV4=DHC4H+30NB?^R5W*79Y_E\<@>=.Y6/=VK57RC:FR:LH:%U&Y=*1* M? G@>FOW)3SKJ_:7L&Q.?P#S:O+VC],?X#13[*ZJ/\#U@>SX_0%N&V;[::ZW M#;/]^@/<*LPNJ3/ -J=<,\7O*3L#U*@N'JDS@-RAW.'I=]@ YK4A0=9N-JNJ MO?J_8;$%N894W\92?DU7 MS9Y>4\K !27N2&)ISM&J$6\% M>;"W6B%2/WRNB(V>J!F 8]:FC-=^G0WO-B3I6M)U=;H^?K\!I[Y^ Y*D)4E+ MDMY&TB=J:>!TI:B6="WI^F1T??RN"4Y]71,D24N2EB2]C:2;V9C!J:TQ0\.Y M0 VNS9\HU;)/@,+;]8(Y53?#)R/ON?^_X#_I&KD=XPUYX]?::Z*T;3BJ[SH$ M)KOBU5-,W>C)"]*[["ZSJ6.=:[76J]JY_F+*//&P/E%Q%5&JHPS=A#V%T6N) M:U9)0O%A.(\4+WAFG*:PM'DY>TZE]#G%C6'Q:5GR[:OB)LH,CA6.%!:,VLKC M!#[(O\^+\1'7QQ<#W2M_\X)JOJ*"LAS]R%1?O;K65R^ #Y,)+)&]#OX.PD14 M8?NO2A*Y(UCNA<%2;AS#)2E>@IL6\&B77GCCKU>PW$_S*:P[7.6QJTPUTY"X MPG0?C'[SW %@!_+.W_F%C#X'6<7'+V[LQ5AW@UP7;MJ? QP_!N_=*(!OXT=X MU2]^./RVX)X]SN>!$[#1?2(^PXTPX+0SA&@T!R;R")<\#GT_?,&+Y4@3SZ=P MX0"36!E.W.")E]*G*,NKYI7_O[UW[5(;6=*%_XI6G>[3Y3DJ&MT V6>\5NUR MM=MSNFV/[=[[G4^S!"2@;2&Q=:DR\^O?B,A,7;@5HJ 0D+/VN&T0J$!?%Z\9LE-N6\^/;_]N-?:WZY@L'YB2]NQHZ@SHK/)LPPVP?IUO;!57I6GK7MAMT74%M MU;&ZOZ+);%^@<6AC/"]\T+.I9CW2K=0;)RY=F]N[B_-XA205.R0=R]JR93:P M?^CBS'(9MNP@0 9;)E8N/*EX43G#IQ#+#V7,K7U?>'?PG-]>6@_W>#9^S^?K MMT6PO#BMO!@L'03*2 5+YZE?@5^.HU_MJ[==6W==1P5+*E@ZWV!I\[&E P5+ MC@J6CF^6GX_QK%HT5(M&T[HI#^4.G&%SY5;]$LN?/UG&0Y+Y'<=RV30NV@Z]:EU(;DCNHY9., VH7#X/O-B#W[,5E2QD>\7J]AN=[F* M71J>BK:5=VA/5F]7[X-3W0?G9?;!W*H+85UIF!-G!CNTE?CK1/"W)_%0;^0%\XI%7G6I9 MHL&(M]D8-D\S;?Y[;&[ KH1/8>K%?J1]S:BM)08NRN(4FQK^ _=ZP+3^7,-^ MB;LHGHGK(_!;_.VWZ)'^_J_1D&&?TE$OPXP MJWCV]_DPCK1W?I+&?I^>P4>T:QS^ZG, "P!^&R57KW3-"P)\V>,DFE('QA2, MQ\"?>0'L?#XU;-J0_P02B$5^CJ,':M2!WXL%MVA1L_P-0#AX'GLUAM[4$]T? M^%MO"AJ="'+W[J/VTUH+-O!6N-R;3T"C0UT([?P=?_'7* /&H#Z9VJ:K!Z9+ M!U;%_U\R7KHVB]G-/[/AF+J>M'&;JY MP5PSVE) /.T;&T0PND9_(C/B31@@$CC $!D;1 /&2*N<,/(&V),TUP8>[@1( M4\QT_ >U@7'VD*UBY9%QOI6A?BG&:FG_8-K$>V!2-H&,R0Q6R8!TX1P'#D0O MU)Q3'#B\S_#SG"Q\RG=>Z U]#Q>5P<^#EO:;:##"?A_16K34M$#J H MBU?X89O#QMR0?>K#3O*=^]/[X4^SZ?V/V4ZG6UR$&G-6\S!)J(=7F8#D(T6D MM/+.+&1%[+WKX\Z 1\1)QML(82K$2'7/U:=4C ]U@@?'-HMMI#_'9_]^G]_4?MP\>[K;HY MCSI9=&<35&!@>T#Y8 \C_(V"#A*IW_P0!,4' _ 55/$"6L+3[7VU'?VC>O56 M;:_^*R-K^86!DX&FNSCNL^3*][#]9\$OA<^677DQYE->^VHOD8^XBN1(X)-H M$[]-T"]XX8;87MO8IB&V\+2C>.R%E*\&^QYI:XUHPG=S*:%1-J0?/OZVR%CP M0C#9GT:?9N0WAV/)%96% >D':$0?HWB8X&(6[6>O#2%#.HD96[:>U]8K+9+# M:XGD.G@:G4YA1&%4# 1@LT%=DV/(,)/HH=9 4]I'1X@E";G0"I0RX9Y3' VS@0AGT5>A&\UFZ+VC5P,T M'P#[1K O_)'<-:)YQ221O#]83*E55[8'$S;, O9IM"CE'T*^!T#&O\W%EROD MW5HA[]9V#>AB*1AXY*]"[V5Y67E+.>TR)]:1F\M[$.K4:B[?-3_1V9B?$->& MT"<^&K?TM=4A"[-.=5I'Z"IWVEUR:]:WE:]*KHLO>^V6Z6SX?N./-WUIM]J[ M_G3CET[O0 ,;IS;ADZ.P=2!6.^L)K^Y]LMP-O4\UVI-V>/0DKE?Z+$S_%M7) M.LU MK[$[B5?NY0;=Y7;DAEY(IL908]0>X^POF5YWR^4#"S.FW6@P1Q:'6-66J2[5 M0Z]ZZ+7E8S;R:MS= R4% MFJE ,VOJH\V@;B]A\PY0D3ZSN[.40%Z00&X^T/\2 MFY>FOK;N"4UA9R>("Z_[$N83CWIH#W<900:,C(3P_1#%#C8-8"U.LY:Z>:BS\; MW?14?HNX\3,Q8UVE8[:OWO;,KFYTGWTQ0;W=.7(Q1PF8$K#M\U7/$3 #X5)[ M71"Q]K.QOI6(*1%KT*KWF8%ZCHB9>'=9&R)85PF8$K"+%;#-ASW6"MC&9@O3 MVG>SA9(M)5M-6/4>DT//L5TV]@WT+%NWS6?715Y&PBZTT^D#(GWZ(Y]0/+TD M85OAR!TR,WU!BJ?FXL]&\9C&YN-HM\2'M96.<_76U5W'T8V]H0 TQ*PKZ5+2 M54.ZGKC];3?IPKO=++WM&+KM'J#U2(E7(QA-B=?3XK7YB-V.XH5]1+K9LW7' MWO/EB4JZ&L-G2KJ>EJ[-YPIWE*X>2I?3[NEN]P!-"$JZ&L%G2KJ>E*Y#R)9[ M]=9T]5Z[K1N]9Y?;7T:X#M'?! >35HT=Y M5('2JS'4& J47H'2'S^6.\^ K7=@E*6GPSNKC2>.# HP=D@ M..XB<-3+"XYQ];:KMWNN;MC[JIMOK67JGLZ]LHA(; M)3:'SJR;!S8X&_N9K?WU,RN142+S4B)S?%-C7[TU3-TP>[K3;=(5*!=Z %VA MTK^\$!X89'"SW7*:"'JJF&SO3'9TX#P+VU<=6[><9R>Q%*==FG>8V4:==:%E9X=(W+35S M@9B"IGGT"Y_M Q2E%0![]TC>;BMVFC8=LU$412B O72"/WK9E M[[V(KL11B6-SUETO7V,UYQI!V]I'OD;)I)+)QLED+>RQHQO(0Y3^%3"] J9O M.BT5+N)S$US/ $:T'<3-MDQ;[^[M?O2& %$H$5,BMK>4U7-$K$-(2EU'[W25 MB"D1NUP1VYR$>HZ((5B9Z>BNH:#IE8!=K( M997V 4UO]Q0TO9*M2Y>M@R'3 MVRYV#KAF1[>L$[D;[$)[G10R?:,2TY>A=PZ#3.^T%3*]DBXE78=!IG<,A4RO MQ$N)UX&0Z1U3(=,KZ5+2=1AD>L=2R/1*NI1T'0*9WK'/!IG>4!Q-*;0-B7D/A)RO).1G).3I$H$.-XVT'),?=5Y5>28Z2G(-+SH$A M#[>0'.P'=VS=[*D;8I3*KG>/AO'6NM7E-P_4WEMGK,=F!X M[,TJS6ZB2KO0LK("YV],%_6EX"J:UM&QP#L'J$ KH%,ED,U9=SV!/#H6>(<* MVX9AZIWVR2"=*H%4 GD8@;0/?%/W%@*Y]WJY$DO\G<.4.57V/P*F[_IM%3 D,_-;ST#&K*+*&VNK7=L MA6JL!.QR!>Q@L.%=!&K#VW;T3OM$L%>5B"D1>_$,U'-$S$0L1%,W7"5@2L N M5\!VQ _?V%K1M10ROY*M2Y>M)Y)#S[%="->F=]N6;I]*!':A?4T*FK]1>>G+ M4#RF?0B,R"Y>R&CHIM75>[T#-$(##M5W="4Y2G(.+CD'1M/>0G+,J[>NY>B]YW>/*;E1@9=P="_O! >&&=PL]URFHARJIAL M[TQV_$16!S2]T]4[G7T=25&B&W58"J03RP@7RP'??;2&0>R^9*W%4XMB<==?, MSC3GED#7VD=V1LFDDLG&R62MKK*CUW_<0U3Z%12]@J)O.BT5$N)S,US/@$)T M'81"-'NN;G45D*\2L(&+\4T>SJAO5L["0E8DK$&K3J?6:AGB-B M"$_6[>I=Z]G)7B5@2L :M.KGI97V 4;O]A08O9*M2Y>M)_)#S[%=+A[#[;JV M;EJ]TY"P"^UM4F#TC4I-7X;B.0@8O=MN*S!Z)5Y*O X#1N^V#05&KZ1+2==! MP.C=MJG Z)5T*>DZ"!B]V[84&+V2+B5=![%<]MF T9L*C%Y-44WQY:>XO3R> M5_;UVGBEW47Q+(J]E.F:OP*(1]>B=,)BS0N'&@O\J1]ZI.;]$-LS828/7NQ' M60(T$N.(-&Y+JRA=0>)U6SGTDUG@S5%UL\V;KIYLTI-J6\_R2;6M9_FDVM:S M?%)MZUD^J;;U+)]4VWJ63ZIM/Y9-J6\_R2;6M9_FDVM:S?%)MZUD^ MJ;;U+)^D;?TUQ4[]MU1FQ]J^'V94#X)/AO[#JL_A8RK5^QW'\#(9U;7$)UC=6SDSVD_=\&QBZ>QCE#+-L%N:)AH@/F93&&F@+9QQ66QR^)KU$_:OC(7I M_0/\D7R#9_\61(/O14.#P]LF@(1L>)N*SW DE@R\&8R5QAGL2C&2QH>"J?Q: MF:D61MH4 M'HU]+U@Q8C089'$LGWV,LF"HQ?"('S/X[R :A[XHB])+85F$"T/S&_FA%PYH MW!0^F/(!8PV$;!!$209#B)^%P%0X>Q:S-&JM$K(U^RGH:INMK@.TGT4)3>=U MS +XY0-[\^@/TXGLV"G]4(A5N_B)UX>99^GZGY3JV0.&%>,CL8_A5LE1_G.2 MU_)GWIC=]&/F?;_Q1C#9UU[PZ,V3JU^K\@#"L$##YBQ_M0+Z=G_WZ?W]1^W# MQ[O66KYHRF3_]$+8!^3\7Q+M'?!]EB0H+BB(MZ$7S!,_6;6;3ZFLM_^W'_^Z M0BRV,SAXYV#QHXTC'H=L'T!;:";8F&WHATKNMUS5W$7AD*LD?.8+2[(@I4<^ MS5A,VB19L\AU-%UFJ7]F2>J/YD>2_W4&0L[\0'.B$5_[*9!@L,4LOZ'9*;:/ M3GUWW^QO$^D;WJ(S\V+^+9FZ_\S@GRP.YO"[612G&HSR6Q1/-:-]\Y_:-4[$ M;+_)/Z%_&V]>D>OA@3T:1?&C%P]O@BCZCC:SL%VZ]NC#*[C)FC(OQ*_IM4S[ M'/L/:'"_,K"7,'4@[1_PGS$W\. 4X?MN!RD^;[BNHW.#ZH9EZRDF"<85;25-!4;Q8C*A%3,[TH 8:11CQY4V\N#-4V^N M]<$O8/ (V/,(_[%^L2TDVIKO$*SLP1^"N4?? )V%'S,V2,7&P*M'68K67?@0 M?2^!%P(9Q,JP42J;SHIM%#U5\/?28OG2AA%0$M=!4POSY[(!IQ2<$7,QK!27"3NY0R\$2 _THVOPY_./+YU M^/7=I[]_>'=CN,!WX9!-P?6%I459K/6S!+8FX6N*"Z:-2DP;[TSS 4BU%R2T M;;XX/0QD[<_!*XN'"?AN@PE05A,,SJ>N"_:6GWKPLX$_@T&3Q:_Z+/!APY8^ M9Z#KIJM^P#=]Z6-LI@N'2Q]#6!46'^:?@FOIKQCDT0^"I<_0^5S\<+#R0R]< M_ B8/_\(MR?Q00MZL8:^\&:Z2^$:@UX!\C%6YG#86>K:!J'E"@G8 %@EHWLK M. .@V W]T0@4%2*SPJ[!])"11W$T)8:23PZY:F1#Z19OXI2ON-WK'Y RI6O> M-$(U19H2M=%+L>6TY3T-%(R@M]5V.,S&#GM@ZZ1IV3LN7[?[1; MN*@Y [8'"85QWK$!F_:!+RQ#U\RV:>;FD?Z1_U;:2!WU2Y+-0*$BI=B0DXK/ MI3J9JH+%%EN->;#N =@"L'%#QB% M_Y!,*!SM(Q]X1!4PC_\$ THV%VTUO:.Z%@R%8>GYMR6#C6NY_\%9#%R0Z=3G M[Y%$^7I_EWL+DD7@C:"+<5.>#GWQ-]X 61 L%ZZ%A[UB^U=LZS(A6]H]4E'( M)RDO2;MO&(VS)<7WN&0#@$\JJE!\G"7YAXF6)86+$3/47>!)!J#N071!=0'[ MB]=I'\)!*U=]CQ-X"D3E,13I"7_H>[&/0IZ% 9I&TD.//HH!$F;8TOXQ@0W1 M'ADI2H;OP.&S&>4O-BHXKB.YG<,!$K!'I%YQ#I1D\/PI>0E1/Y"N&(P]C+0$ MI J]$\WG&^\)0U8..*33K;H%7-1%ZT+1= MS1CG-O=C<8]NV1@VZ3YD\7@.:H6;00B!R"$B#^%V'#/!(IJV_7K?+(>>_",? M=4_ZVCI>*O-3" N,02,9#ED0BP21,BZDT,A+USRY;NWZ*J?!U2NNA%>23=?^ M^.,N5[ST2*YZ9R!-F< MEK8IGVZB5W\);P;UD+!R(,-@,\F3HW%TX?L'9 5 H^#!DF(=@W]E/D\WRM6T M- UH>#N+_4 S) E1]DO/:I@M157Y5VXW"LJG1 #*DH=+DZ/F^_5%%N[.R)D'%9^)YU%KOS\>$BQ/-IB M]%:\&?SH!^EE4+QFNZV1R1'>EI;,$U"XJS9XF0ARPQX83"E@,NS$^!2=1S)W M$$GQA[DC$;(%/Z+LZZ,KFR8KUP([>IO2E@$9^?;P^0PUDASMNO=*O"B?#:X6 M_0<@D%@<_2M)A?K_R>BV=9!DFIJ73/ = =HP&!V%3D?&G?T!\Q\(DS&4AZSE1T,D:S;#GR?DFUQW M7Y&WSM70PDIGGF17^CG:6F^<>P[B$)OTVAA_T4I*Y(*Y./]URY7<7' /+#"+ MT;'3830?^25:BBVL8A$T0=KMDK"6U!2>(\1] .^YHK'63(@+SXKMP[^"?Y5Z ME,P!%5()^NF- YEHA#5\*^]9*=,F=0=:VRF/W^DU1+@DC_M*,XJX,*$N*QP# MN=L4!N%7<\ZP/'QD7,_0E\7!PSS/)J:0QF"K)6W0RN'B!@RS'3/KLPN1J&#&"D/D1CVTB&8X7>8H@"L4[< <0@: #Q2Z#]/N_'_O#F70P!DG;KQS=W481QYAU^"[M9#P9?CYDY#L2TZ-X? C_SF(00?9_JDIF&@TSS"OCC[G"H0PM MJ)@L *%D499@H.Q]A^D]XAQF&?J34<@*@1H#,% IC1A MN;/H$?.=M(B$MA4T$67AA(+:7G(X"VBWOW_1[G_,D)+:;ZP? P/.R:YPY8O5 M!LI'"YL..P[*%QP?-N-.%!Z,3W)G1F0$BT0KVJ^Z' /M?M2-0)\2G\ 1B&+V:GG? R3YWS^(Z. MG!<->(P;AA&6KKE/26ZG3+?Z(<2FF#7!;T81< HE%V;H<")HDK\0CCU-1NWZ M[O[V52O/0U:X0;HJ^SE]?O?W[^"):&%$30 2QEC^GN I08L.%'4 M#A.$>7*;-8JB(0<;$0X KTO,P4A\""EP!QI0-$AT'$CK2$%,R2_!WCSN?E&L M158I$T6C$-LC";,$MLOKHP$#@F+C OYRY VPTH7;T6>\5(5ODM%4M7A)JV/2 MC8#YHQ-!13WZG(PJ'V^N 3EP>2G$AL(2TO:4'0<@$7>&,HQBRQ@JIRPIR(DE MJD(DAAX>.HC^#/XRB-$7G5,&Z-IPD AF6WSP"O<+/3\JUQ&+QCSPQP_1BP$O MJSP 3UH]<+&CE@]L\AQS]I$1M4[52=PN[@#Q7 23$?\L\KG;GG@!$UN9<,Y, MX+L $PQ#$0I@)(H"1;P#;_D-G\())?0.Z@@MY )$ZS8)A@ M_D)+T/EBQ"C"!ANS.*2.U#(7($!C[ MH3_U_P<7$@CWT:/1I]X/^07-;7%JL-#_XG/VJ'N5:[;A\F0Q "XJI=P#Q:)0 MX%']6+KQ :5!R%]$JO%_TY3!D0\H]7DS*/1AN><3M=E0D9,'XHLC8BF2!=1_@58;(^LHIOHE,2%/ M/7&+Z$N#BD\5%/_][[=W!:5U'@A[A47"&<@F"L&Z"7<#4C;F.%EHY8H$5+%K MN%R8;ZM8(0_^,;#NTS(Q0QAC/DLOD5)&O)A_EO$\^S$!"Y:2/;[[9!8!- ^: M:4;]" -?FJ_HVH"/X ]J A3:C"]#LE)!R#H6J@D.*DG1O4BI:U^8],_NJ&QP MZCJB6HLTN^28MGERYJ[4Q'3K#W58/#@=(\Z@]\"A$78UB3:0.?5HRGK=W>V7 M^Z_X25Y[?/2XKI#%SIA+%K899 $\,06[ 2HBT47[!Z\' MY$4/4#5RAWAA)Y_3_9>[HAV'6P"J <0,&Y*X'H&WBU_):I!,(//Q>7NE]X.) MK/@OD0^%Y03;:P(GES-LE)7_;DQW31,-4 9]AN MR*3W K[*-*(\*LP'IEYD*+=[C^&"RJXN%LQ2[(V1JXUV&WV?$4.';Y0%P0W( M "N5]_R0AM QA0D"ANU],\\G7[?R4)UUZQCW";'"W_%AR1YS+YIZMKWY8,(& MW[7/<92*?8&_@I&:HC[ -[R+0<#_B+Q0YQEH$(*QCS)6VI/3#U:6<_S@N -+ MA.DD$:V"_Y%!V&'QB-\@_L0\?)BGU)'R5VYU^";\$&!8+7)U;UZZW1,O>LLH[MC+B"9R99!(ARW M@6#PP%O3KM%["Q,&9BQD>2:>RJKIQN*KMM6J8/&+J6D>+,#_+ >):WC M4+*'E+3UMME=9KQ<'7\(R59@@R^ON\KB;:7=4-H*WO^XF=%0/NO19S.6.D'VN1/N.&U2>%>O35T<\45XF18!H,XX^X7O4C6#'?9ZBVN/#C 5AOMJ[>= M3E_P7S@#0L+\IA7;]$X\S. PO)8BP?BL9HI4P2E)K#E MKJ]:=X;4-L=W? JU6<"Z>FMW=,->OM-2\ZL-]!MVL^\%O/-IPL#>\$;L%]\M M>[O=^DU/)R.>0^FU:-D*D)^0A^S+=RVN@+EA ]/%'PX"6B MR_"O[S$V89V%@_V96VCTA4J)NY)6H0.,,I4%V\H)H@E=(TC!(_8)C,MBF?<$ MWV<@LH7E_A"O&I+Q."BF/8(_B4DH@PCTTY%]FJ+A:2QOP\EJ A MKB2:3J,ASWF^^,F2U8*TKHWPI7L@/CV@2\8>-S=KU&YP:#S0@"R[\U8Y+ & M/XI'KC&A*=S+($#F'\+\"5B&%P.FH-GH4-S*=EVJ->1UR6C:%U=N$!N6I$;7 M)E$*XI**\K?GQT4?+S(OKP)X&6C2B-)J>-L L$+9O^>A+B?0:1;=EI<#%#ZEHM)A)B277H'9K+)"D<^#+,_S[F$OK#0_Y D:69_GVBV_ MQH34)%$L;XEXQ#PP'M8453&,A%(J"H&62%"MR-/GP*>B;7$6$626V"C\+2]' M_X/EFTP'%/#T\?_@45)12(*QP L,;L@++!W=I?J4EY^+!:^QS^-8V@G*3V^5'$M MA4VVG9\6/4P0I&$!;D*-!<,;,"EQ(AU29#OJ+X$V)+O (2U"Y^1#5 M#JEO!X^ YA 2]#,_&'* B[R;KL^H$)7;J@A/4Y$1N$%K M2#UH0X'V4OI]X&7AD!]!':!\/6-UP>!_B"YBLQHOS M/V2G_\+IR+PD_NZ]C*8)*.'ZZO;=^_LK2CS^Z6$/K='EG3A#42,J'7X39T!@ M.'',"F-_#O"(H_#3GYQ#=,1%.Y8[3DOP@O M5T<_%*:>GZ3+4PWY T5/ Q\?=0FR>NXG%WTYV*-G]!81JN;P/'DL6SX(TT=V#J+':H^D=*619HF UJ#\'5(VZA/U8HY0 MDI0[B&A24T:97^BIX5L#/$9I1\0K0/)QC69 M8'?>&)IO([H"^/I*SB?K"FE;YN-12^DR:4>)Y,\D$%!"N0.E. M[@HM0*-1Z.O3=HY$<24'51,I2&'L/DMC)Z_MW&\R@K\D!_&0+Q$1=5+,NU"U MB^>JE]"Q"BU&!Y#EDX4VXR]=FWP5"Q$\54"$39?S(Z!'%[,D4J4*2*Q2S^2" M'KL1":5N&J[@PJ[!P?5+AF_5$T^4G( M6-$%82'V6W[<9O4S9DTH@V99WBJB'L^-DJ=1-IA,SI9BC%1^7 MT$:P=VLA1<"=K1PV@_RLF(T$$,EN+1>OGPW:S)7#*F=*$$!:"[I"'5,4WBQA MK^5?WLBK(?R0"$T_>E.M/Z-.7;CEG%['OQ;JMNNTG)Z-&E=<%2)>+)1QBY2Q MO**B\IWCMD#RUG[=;JW_;M.P1J]EVN9.PV[^SNE:AYFLO=6P3US'(J^K;^-E M]:MN!7&7'EUQL[W@JJ/<;;^DU=L<>!O=YC]Y3](]]B35N8_^2:H4CPI)06!Z M>%8C&=9P>6\:0J^GS2 1K-S:;%5HM>NZ+Y1X9AU&ZWN#[^,8@O7AC9CK8,#8 M:+1I_0$;+2G8EQ&U)?O:Y@X4SU-LPS3KEKL=(W3AJQ4$(12M)E$$_@3E_1QZ MU)&ABZ5I;=D:T?^=DFS=X=E,<11]-P%;L>93V7*GMZL4+2QZ)RDZ9<)U6^XS M1>7TS-![.M-IO+EMZ3;85SY4Q"5+RQAA&7#;^Q=QHZ^$'UIM1QE9W:B MV^6:F?<>02?2F9FH:,GD=[6L92:S'BW:)\$&U^V6]6IQR;ML>;O1RU3F=0>B MT>$N\TTM-2%KX&$4LLVD>JDG+R"]]RU*\7;;_:0ASC(OY5BMSM'=A#,CJ?UL M[_OT4GU_8!Z==W,O7Q:_@\.P'4N W G5;N"#JV6R;MQMQ:"#>FL4V+U??MF9\D=$+F;VZO',^&, M"W Q[\K-[M@['X#/J7S,PL=TE%.@?,Q]L9/5,A0[79*/R7%F-2_E0 <2]0F/ M+851*&_2P2R:Q(N]+*<3W(H:$G$F;H5R./=>*CH3SK@ A_.C\#&7=*) <=0) MF&8/'J@X VD!&PRC#%]"1O.\'(IGY$"?19]3%*[C>:\7P8K6#J7]2V5%TO._ MDNH[^HE]&G%[C(*E,X9G@C<@L (2"?:T"74 [](4&#@2KXD#;!=76\S@1S'A MTKVN"T;(MH --MM3L'@ KHMMK60: "C-[^)]MI]9S=$ B. M,%F[U>ON-NQ1)NN8V[&! F$0( S:%KY1C3:4%WQ4(48HQ(@708S8&_N>A(KX M(*[MT#3M^IVXBO.5]I.B""O3XXPRV%O*QY?[O]]__.O^Z^OGY# /=,ST1=LE MU0SW/,,+R'9*6-BF' A08QQXC+V>">2HJ UF[_*-1,^IU:S,<39ML4NN4*T5 M-CH[:9M=W3+LH_3_[=-8*9X['9YS'4OO=13/-9_G=FTTZ)Y$9>;:,3NZX[27 MBE>J1^-ITCFJ*WC7L.547#Q^2>!EG5,W]$ZOJ[L]HZ9UVL^)]6-U*YSB/G6M MGMYVSFB?SO1T_[73UMO='8WL1?/XM=ER+PXSXX*@E?B=O RO]_ &_$I(?P.8 MPEDZDI;5UBVK<_*QX)GODM'3S7;[?';I3,&V#%,WK(X*9VOS=ZMWF2>@]QG1 M&E:SS2T_]2_JK:+L'$4_SGBEO#+ZOL8^FN8^IN]XS*"6>Z3VT''%GWC/;I3,L^;MO4N[VV\D=K M1^-NJVXZ7/FDIV9Q/X1)Z@4!M<\^S^2>;,Y5H+Z?3TU![=(I[-*95G[$/JG2 MSRDQ^.E9W),O_XBDD"K_["WV/;GBP"7N\+.BYI/;X8LK_ZA@6P7;^S7]S;M? MZU2>O(#*VGW(XO%XE M[.S%73%W;>N&M8Q&KI(G3_?.J%.@STN:N,VV]#QI$B\BO]8+'/"73D=,2!EJ@$I YQ&BXCMF'KCFN]J(QIW!2I:>V0QTW[*G31@_>G,PY/H:80?"[N4 MCY=X4WD?@N:'!)BL:T %7P+E1B/M)R&9&OP&>.UGN@-!BX MZ&^M^D3>=7.> M^)T@K&UR")Y9E/B8Q'P=,VS(>F#BS@/.2N4?"NW:+G[B]4&79NGZGRS!'!^) M?TKHX$2.\I^36,YFYHW931]V]/N--X+)OO:"1V^>7/U:6=/4#V\6:-B^;*0.K#C.ZYLV#EW' /7H9(LC] MK%=>-"B!RL+D Z ,\KQ7?8C#DHGO:0D$,$2#FBT7QHQ&HX2E&I F];T@F..U M/65CY8?%K]E*$!8:EZ,IX'":183YE,4%,?@(4_\'D#2!G0D"_.\BK71M &]^ M\.*YE@!'^B/PD,(4ID3W!8F] >*(O\$($;QD)D>!S=4FP%+@S0>!%^M:$#UJ M#V!RIHQ/X 6M:E/$1Y[KNT#-(;O7=E0<>:>7OJ0Y>'_09LVQY/")MA,N>6ZK M(W1'6H3)FL3_U8B"NO#<7PQ!2#?CNCMG3>X95?D=^!9RE]!) 2K3"=>JDV\!YH6D)F1D1L$48*&%40M@?=&X+SZZ?S$ M981&W/[:Q+LH29&"7]%MD)LVWI1J_'?<^6L\)6#:I3S1U7^@'_OA2!SK@O]- M/8@BP06EH<$VO*MA!=$/',=X7S*_KS$77J("!-[MGRMT@4^,GY_2$'@A'GZ, M\2W$F-HL M.8CWR!SN0%AZ%5R43&R8E12TP-O6/T=-OI5,74A'#4T>U.IY;5 MLMPNA;%DM]Q6]VG]Y1\+9C!#L1L M9L\B ;/;E"Y9"K8*@Q=X?7@.K5S5E&&B8LE'Y&&7E$$>>PU@:Z(IBS<$8<7; M\G=D"4H/>)1Y@$5>Y@XRGI-\@RGM@C=0H:UCH.)Y0FW96.)8:TJ7?8=UI+Q MH[L<+:U[\O)HLZPUEJE53WV8;;W=[BX89^#AMFO6,LWPBYY#>@/51DNK[*? M7$OO]5Q1+^B" >1190>"S4[7V5JZ%H)2!^2L"]98_'P%I_*(,Z6*?;0\0TH M8;*?Q25S+(LG(O=9-< Q2[* U$6>]DSR%*DPP!5;2R5NS,@D"=N8K+S(&KFM M:N2772/G34T^"'N8OK8ZU!Q&?4,%=U,CW0"K<;.$O99_>2-/ OHAS95^](8; M-MF4ASRPT"-%K^-?"_;H.:U.UT0.$2<,Q(L%\[2(>18:M_AW&*&:[MJOT42N M^V[3L(;39+]S3OC/]&_L*? MW%^X1W]ABQ;5&F?Q7O#1+7>P43W5JS=E@S.\H6]XV],EQV+(IVTD+;[BKNYE MW=L<&3U#XIF'D>234&L?9/+P^IT(IU]IZT\J7"8]+A;&\CVUZP6\EV8(,8^? MI#'%AX5CS< ME$6[IF[7OA3YE!CX8O&'6DTSK4<@PN& 6!KN:']E 7PXOJQ+6>P>5=3.YZJ/ ML]PEIVWIG?897A:+[X[IV?!3S=5]H4ES(L' M$\J5#=D#"Z(9EJ\OZ](7T\(#P#OBHYYH%')ZNV2XMMYS=HPWU"Z]E'MLZ-VV MVJ1F;Y)IM&QUM\R91^?O\61L%&K8!!85#9B\R?*R8O9KP]5=IWW*<<:S-^7E MV//IQM;=T#>;D._>W3ULCG.H.;8E"Z_9:[0M& MAE27X*A+<':%QM^Q&'>!8,8O0IE&JY[\A-FSZKB-1L3?3_.)DHZ+E YQ@%)) MAY(.)1V+;5UT9/EB1>/,<\2M':^5.XOP:PF87TYIN^.Y?+C3ABM8?XRB0 = MK!V?0X.P'VR0T;=)ZHU&.@(7 W?0,3<<(F!C&$S^DN"0$<,45CQ@NC86+_/# M)(L)C@=_$Z4(.[#FY2UMFQD^MA&_'F5\1UL%K6 M*F CCY[IFIT*[E\_2V"KDJ1$$H&QP"%BN[;NMML+4($A(B]PZ%=X= WFM/93 MKZO;5J\"O)FDT>#[39^P*'#50#T"#+Q ("#1UKB2RSD CN!PH-/4IQ/^0&K8 MS^\,::]KP(0/+"AQ<")&E$ 7!0LOO6L7?A4MB55N%1UP]1\'EHDRMZ[A9K5,%#+S4H2D;3$(T MFI(#)6@7BGJ6)OZ0E95 P8#+C/?T/';2G+R39@$3CC=NU-.:O(^ T'",EKT9 M#Z[*4Q>%J_0'0E41ZK 27NE:R-*3)L-N &)$#)^(0238AU4<[ CBB]A/?9*-030. MZ<'-N&A5 ER4Y'R.HP>?T*<(Y#4%^R_EZ)OWXQ+Q]Y G9Q6J)$05P94I4J6F M1*%N1D'@HN5B+84^^ZF#_1\Z0N'-V CTF NH.YF\!GX63 HT&A*7EDQ 71E MT M+X0"1?$(ES)SCA9J>NQ9CX$"*4F';C:V91G,,\3F'5 M>,G4N_<"8?671'.,G[7H,817)5D?@A7?B^=ZY5&DW7]%\7==^^./NY;VVR;3 MX^]*"*.G6SUK^>Z1708L[F,HT)O+US 408I(WJ0TWIH+2RY+I$'!D>-^NT#P M;XRN7$-K==+TV-E(H>JGH&.1%25E=@QM#*.]$-KD;Z+PQNGHIO&4PU<-;[H= MW6CSZTMZA+^\*%1I>3T;XIXM I]G^GJ;^<,?_ON5WW$LEXUM=[7E$U]A^1,&B%XF"ZU3)H5!PSQ,%MRG&Z:O_HX*: MN0%E&U72QL?-Y8SD1CEOGD$:@=L3/1*LO@C%4XJ4TDEN++B=P&K5$)PYB&IT M^;&$OP=S@8: %PMREQ)HU9_G%[F!$S3%+T,?G"]AIB;&%)V&YL! M*&ZB.(C")1R\2/V]KJG[U\G/\8&7NT[+Z=F[ "\[;@OLS?X1=WLMT]X-R'?S M=T[7.LQDMP->OE!XX$6]5:&+I:F>SKPW&39JEQ.M1-#K5CSJ6PY^GF[2=&VQPO/ ME7#@'!X$]Z?)HO*^E$Y3IBC'+&FW.LH2[1D&IM6[.$.T?,';0A<_4)^VU+.7+[T"W M[B+=+LC4U(;P/%=]N>AP*CNSY3E/^V+-C(+(*P"QVBWSXI">%1+7=IQA71QG M7) #(95@RF((5#VI!+-PY#U$,;4[R.O:M<#W^G[@I_/+ @C_W_^K9QKFF\O$ M0U!H&=LIR1H7)9P)9UQ 2I?P]&1KV3:)W2U<@'.Z ,QQ=T7I/-\;P([@59X3 M2V'&6+'4Q96F5YWA?XZ7>4XB<6WT6G9M]^)\Q>$(+NE9L9-3)Z(_>VZZ'#>V M#,)PS5:":5Q$2JN]JX=QZJRN$IZ*.R[:R[PKGQ^3YY*5FUFXF?6S6.?K&"@W M4[F9RLVLL>#-V#2K %14'O49Y??SE1650E7.E*"(&_""^G,M86,"H2>P>WAJ,/'",>-E0?H5 M_"C6YLR+7Z\#57KI56\%-]\4/*&>T;(MON-NQ1)NN8V[&!0FI:1FIZ-D#3"SYZ0:A2V^VL I7: M#^W,PXC$2=#A@[QJ0=.NWPGTW5?:TI65ETB1$CW.*"NT)>;:E_N_WW_\Z_[K MZ^>$[ <"HGA1[!0UPSW/\ *J69\Y.O]>(,6.#=6BQMABC+T>^N/ X@UF[[N( M7[J*G=;/.;ETGK=WG] MW%U#;[>/A=TCVLX M1SD;H$YO;.^:6+:CVXZK]JG1^W3M]'JZ8].%=ZG9TLU/7I*M=>F?=T MVZP/5*$VZ,4L>JV#(2HX7UJW837;I'.@!U&YU)X3H:^M!R\V"9T&Z]NZX3AZ MMU.W3E*7&B<4D9S9#G=TUW9UQ^VH'3[+,XVFWG4MO6>ZS3G9J'()V[N&EX@O M?M(MAMO>U!(_^(,#76Q:%M'&]L>I2>YCC NZ=>)/#]$O0B\<,"UY2GS.TAIT M]7;/U0W;5C6:1N^3 RYU5[VJ>&[Y/;.LX6G8LG? KF M_4.8I%X0\(M4GF7?3S;/?,S[4E0U8.N.IK9NM%5-K=F;=,UW2=74&KM!\!_5 M\7H!1361Z5)%M;W%\1=5Z^;^0YQQT^P>TU=,,T]$[7:MB% M2RJEL/4.]EIU#^%=1DI!0J:%4<@VR3PH3->H."$Z9 M7L_2.YT=^Z&;80_4=0RK<0(L1^_9.^9[U,XV>&>O'5,W>@VZ(%!ECVH /-HL:91:GO@BCT3I]&28X!J-WNZ MTWU>6_-SB73D&%[)B9*3)^3$TGO@!KF&DI.#K%*)2DWZ-%I:K@V]:]JZ9=&E*V#DE+:ZD(./MLM]*]O\BK_]GUF2^J/YOBFV MY8TEW$ N_UD-5?*;6A+_AS:-Z.8!ACNV1Q4S[J7!30:ZF,P\Q)=(( M/L_--Y77OVA^2,CMNN9I0P'3K44C^)E43QK\"#GY9[KT18N \^AOK?ID MWG5[GOB=(*UM*VY0JEOK[?Q8?%5MYV>I:VGM_(2N MCFH;3WS^W-+P5K#\*?CEXGRU81;[>%_8TU,&1AUF=*NE5QER4$*RAHD&0 ,^ M'8$62M-!7,J?]<5?G5T;+1V$K M@95:VJD&BELR3E$VU;#:.O2&G"ZV#(^NG\Q 6(1MS^TMB[ M*$F1OE_1CI_TPG<2&[E\[D=M*2G@'X$=@[_KIFU4):6GMYT>V*->+5GI@8MI M6UWI$JZ2ED%UHKD3*Y\9+OO$W$.#04>CA*4:3#+UO0",&;BATL0,M<#KPUM1 M!J8>!)CP!+TK02]P20JY69-&E-LVB 73:,KB#4:N>%O^CBR!@%(#FP5/[8H!#CA]CN(TSG$6PJ&(G M!-71&X85KZ/=B:L0%3T_1XD@@^7$J*%1P FT#+UMVE6-8H,];NNF^91CO)C[ MQ C:<+E.L5SP*Y^I,03++S+ZUN*JD[SFKZP(+J[?,EIN55XM$S]Y*AS &X'7 M"^RR(A6O!,55>/>>-LK"@73L5V@KOMC+X^S+C7*793J/>VO(M(4!(D6U%9D& M4;?;NF4]Y24L!+LNA+F&Q4-=RZ90<2E*/0/#SC5%3NX-)KZ#QKI,68>J/$\H MRLY6)OYI0EZBE5\.O]8]>7FT6589R]2JH3LF(VJ\*B. M3V'W42*O7P_,' MVVU,>9%KEK9_+X$O3C;+=*H](TW+)WR:40T%&.S^QXR!C5GO.QQW73N)>+$Z M)E97LA,_=4Q'[UH."9M+51\4V2Y5D"RKO0./_=31'?C"<9W\QRLXCD0EI<:+ M:'F"E!03WGOA*E0#65!96!PBLZ:7E@2F_H$%^5BZ?-X/DRPF?V 6LZF?3;D[ MP/T+:EHH9(15)4L;OA"WQV]CG\M>*'GM#I=$]E!'*\1 M+Q:;AC6Q!9YV#2SF M%WQTR_UKU.F!U5NRP1_>T(:^[3&18['CT^:0%E]Q;/>R[FT@P\^0>.9A)/DD ME-H'F0*]?B>"^E?:TIF<"Z?'Q>+DOJ>>S8"W4@TAO/&3-*90\# X!F=V8JW> MVAM]AL?1NVU7[W;J'MT\)1@+QAMJR[4YREQ M\*4B1'5K@T0>>E>/0(3#@1 UW-/^R@+X<'Q9=TR!*FNW]9ZS(QZ( BIXP7VR M]8ZK[BYJ]CY=6WK/JH%5I_;GA?>G?:EX'Y>1+OO"$N;%@PGERX;L@071#*O5 MEW6SE-UQ](ZSHS-[HH'(Z>V29=FZVU.[U.Q=,JRVWNFVU2XU>I71-]"KMTW35TJUO#WJL->N'B+NV/DJ)&;](Q==WIF?W5[DZ3S3V! M9^\52_\RVZGV29E&2TA^MO@ ]Y4TI!GKB0!/28>2CG4DR0_/*^E0TJ&D8U$Z M.%K%Q:<&W=9Q>A:;$29LOKUGZUMW3@">9R<8F_6GY@K8& 2(\SF@%?O! M!AE]FZ3>:*3C?001PBJ%8QHB8&.O#!(3C48(60XK'C!=&XN7%9@Q^)LH11R9 M-2]O:=O,L-;=0OGQL$78>7'BIAX2GSCD@$ _702578+A\[2?C(ZA=^UV!,&R]V[4KS^%N98% @M^,37>" M_"IZSUSOU"7(%2 H+_KM@&S:%6]8U.:[6;>*6%:G+4C:8A&C8)$M)S$?4:UF:^$-6%K:"HY8Y MZ>EYU&(MT;5892S1)%?ST@S>LR60@=L%:Q7 7S-O'D?!D\"W0I>@H^>L5"3K M+L=[:5[Y!X,-&D3C$'Z#2G2\2V&-B,<3Y5MAN9F:)"P^.@BB!%FF=)D!XV"$ MLP4PPCH0@L^Y??"%A)A&W!Y!\ \$=*3+301V"DC;Y8&)%E2(-<4ID]DFSZ$P -,NQ801*]T+63I M29-A-_3.E&-7(C&(!+4$"KQNUZV"\T>E ?E%'KICMNM)5$>WN_:)0TG79$H0 M^P>?[(!C MTH<_&>#XXV,Q2V9L@,$TWGU ^*LS^ P\"!@1R#,E1[9X-WJ#Z+@F7&B :V,V MRL)A0@"W#Z#4HRSA,[XL[?HQ"F_(38QXS/@!L:* @B=-@YT86(BOEZ:QW\\X M7JGP>\,%(OF"2,)-,?5>K[.U(I[X$$^5V'7C"V91G*,.3V&]> GFN_<" OR7 M1'.,G[7H,82W)%D?(CO?B^=ZY5&DVG]%\7==^^./NY;VVR;%[N], KPLU+PL M$_ 1](CT2M#5?:7=+M#M&Z,;6?&IDR;,SO8 52WYTXL<)2E3,QKHMG7#B M@?PE%!%T.GJO_=3E DL1@=.VL 6!WU[F=NB6@57!0?ZNYP0$U5M'5L"=;Q4Q MK+=2%XDPWE,(XY> ,+Y%K>NEE_.'_Z\,#&_*_= [;X86!#.G41:ONG?JJ$NH MK\-'8/"C1[INA;1W[K=XX'),IWCG NA0O)<$E>/ 2R;:"'Y0S:%@ <,/'UB2 M9YQ'/E[&1/]"-Q[4#4M>[U:]/#[:?*]E.-U=T.9MJV5T>X< +^]8AX"%MWN[ M#:LFNWFR+@S;?1%8^%-&D-\2=?H($/+G _9^APJDV,#3](6EQ#47B,VPB<0O=5Z+X56 #' MTCM=A;&N./A4.?C:Z;JZT>W6/HJLN%=Q[]$7W;5,O>=83=2_%X2T]:'(QCW/ MF[KH(RK7AMO1G9ZI0* :NT-FVP9;Z:H=:NH.=77'[1X/I>N"H)A^6U%S.40$ MK1!,%,Z,VB6U2R>P2Q> R',W\<(Q/V&)M1TLOM-?V+\R_\$+L)9_",?_J=\I MW(;+Q6VXMDW=;=>_1.4,(!N46"BQ6(\PV;-TRU%RH>1"R44Y0V#C"+NR@DJM*!K,]&*/IEZIX1Y@\0"RA O.1/T [XQ2[9Y MVS:G;T0]D$NFV>&B^2F+)403GJ09,) \5-HHC%G8]X. #?,3-GTO0!RB),=) MZH"2,%U#'!G5NW9/MZQ.]=2HOD;Y5%;=T;LPE&'*TZ=ZK^W@0:%-,LSW BGR M4]=Q])XEYN%TZ/"U(&!U,BT-ZW%A&L4^G?^1AX/@C88%NV'TM&%& "];;*($ MV1F OHKY63T^]APH14>.Z. 5@VFD!15;VKOB#>DD9FSY'8MZ&A%&8"<&. S^ M;.K]$U; 44;PWX@VD\+B<=C[Z2R(YC#J%Y;";/# QQV0V4]+VYM4J-?I=('T M1LYR"Z ,.VC#ILCLK>3LF369@7IB18_6;K9 ;N" MAZ.WXL>>Y>K=GIWG@O"@QA)9EPZ^>8NS12VQ!+=3,!F\<)#%W*QN<8X-)CYB M<5R2YV+0M>LO2^E6@@@ZIFNM927M'QR4;9 NKY9#'RU,$5X["K)!FN$1]T<_ MG6C@>X(:!(F@=%M2 N[8C5?/QW(7K0;*U1D=-FW%[P/L-"@E& OLK M>CF(I<5ONFV$=,N9/[<-+$=QXA>LH;@ATII4W[=L["?\67X>5,]GH7?:W?* MLRP&QD\( @*X/@7S.@.CS ^[HN-,L&$Z%R8$0L33P#B4B0AQ/7G*W'9_7G_2 M?!(%$*LEBV?AY0%W/-^NEY#B!'0<^"@X,AF96 Z\=UHVJBK&A8%1\ M;N7-<[4.MC<%+^RW;5P^L^3-^>%*3A*GKWD;1<5+>&+DG&G-MJNW+7L7?OG) M='6G[91Y%O@!-*Q/JIEV9P57H4O9=I_$+MB9H\KN.H5[V:SX-V_P/8C&YT6# MW8*4-;ZW3H>]^YQ.^(C ?A2X%A#P!0%'HX0O_@DN-2AH]@,S;SU=0IL*H$F$/3;!@0$G =\E[0;E;65J@*H> +('B$6C\7Q)N#$+,1 ]/ZC('_% 31@#*@,\E$!$RK@E?*P(G.9$"OSH*6YK@4$W\J ].6A@*8GGA/,^W)"#PJ18R'()C ME "/@HDC!&IX=I2E$*7AXZ,HGJ+9:E':11SPSP%%Y4Y/O3G8KA$$0B)\(OM& M@5CHBX G0RBY(2P]GC^A1FK+RT6BFK@*U42AFC3$,N8X)\] Z6BTO5M=Q($H M9N(-MRT%K2GAR I.$06L'T]DL\LI/4TFM;8/OX297D*C0F,;LK$GH!-]T-Z8 MON6J/W^:+%L0H;WFL.KS ?Y'&K>8P6-H=.5= &5H<.%)SJ45(YTT]=()TN/N MT]\_O+LQ7+2B69"*VAL:P$ M_2" D;4DPTLS?')I(FW*$&<3IK-868T9Q?&$QIE7BD*@L)8^LN!!EAU:VN_1 M(\PUIHFC\Q$RGN_EMW&DE1=BL1[G@Y[5B@0OY6O)@V-<^LAKF9>+*MQM O%C M\PC9O#J7#Z/RVP@Y= '@J)PQ\2C:@ED]>'X@,>_D^\E[EH)#B8(2,1>6&GL^ MZ)'*XC@1TTD<9>,)"%X_+45Q0$U@2B0P%6%&_%* \FZ4YDO[RH?#]_',/U6] M0]Q."!>]1"8T'EF^S7(]?&Y)AK<#%!.D"<$TQ!PJ4\MF JX^X3XODLD;#-@L MQP7,5D6?_O#?K_R.8[ELY%JVU^_9MN'VW='0Z'>&;L<<>7W/_6_7OMJ##CB. M[_ 5YN>/,/V4:K?%Q32?HP 9CG/)7>Q3HXEV+^!M:R*+G8P=1D.4E A2NJEG MEA,DICP:^EA%G>EC!$0A3&L8H=)V\EL>O!%2,U<](EZY#<.,\-H0:A55Z&\0 M#6E&^^;_YVG_!5KT'M0JE>W7,? >1,]VNZ,CB)Z< M^3'4 4K1'3?+$$ -I+9;)5@D0>!!>#X"'XMT$7D!254KK)3O9O/JVEI.#9V$ MV@+[8Z@NC0]_O;_#E?])5_E@:+ 90+;!A%A_O1;7__Q?0(<#LW+-V/D=:>.9 M3*G]K>S^@>_N4Q3YN91X.Z8DZK)N!C9TB(C$PZVLJ>BE9$'"'LF/) L#2_O/ MS(O!ZX-HLVIDQ5ZU;_ZS4:T\:ZP%1/3HX*[*?YQ2+\?..+#EWBZ*,B<^KZ8F M2 MT*\>O1C3Z"+1 9R%-P5&O(Z;R&!RV-+N<#[P8!;Z*7>!Q*V-P'?)),.V[\

L=2<&2I]U? MM%'P/HU&-W\3*;&O$PQC;^,86ZRFE9.+)[SNFOV^/+N##:P0E \C8A >4X3S M_*H_#/YO9"8Q(;)Y);*5LSWXLW*CYA &>.!5HB+HP+I>G(G?+H\]!A4/?C3C M>2317<%S-(_>#&]V#!-OP%,Q(#78?0H4%IFJP;RH!H)V^$>^*A:.O7%^->1" MCL4/'Z+@ 3_$]@[V@_?=\4LDAZ4!=\XG=%?E$ZJN$1Y?*9W'<%^@UV>UD'P M1:)9+32UX"NG?/=0N\$'@?SWNU*(>-N'+4>'\#OLWA<_^;Y,IV:Q/49?WFP& M[A;FBM3E!V6:6>WU9<+M&1[6EW/\ 8J+=;5O0RN/)Z41[!9Z[MCWQD.-S]A0 M,$0%4"/X:TQK3E%A)=B([IM$NW_P@BSO5"@4W+IE+]\P<,(Q+V_0*3F411D# M[-\#B[F;2#$8C[QX31 \93;2[O,;T3_17>?<&^;?%1&>_.[ZZ@X/.H[F:'#% MAU>OT,QB-0[#OGPG$ADA%"E);5#>CEG!A=HMU@Y'E,J7S MLRXLGFI73T_V2ILRV,5U7_/V&XA)DHQF*>H;0X:)7E[-82&-G]+Y"FJZ(V]HN-5SO7P M%0^;!MAL--1ECQ'^E5_GP6\7YC?J110981I)O#SUIT6E#(\O^2._2#&7"(T# MY,2^RR_E_B7!_;B_ ]:),UE11DH *[Q[<@=DDD&G*:$#$_A3GR=,]+4_6KD# M2+LMMZ#8U'H[L(;Z0D[7L3 UW ^R:1;D[638*I;AA=XIGV#!$[]@:YE4BF6? MGK(W2P+++SO$7K5'VDF()X>PA71;.JQJ[,5#7G,0Q"ADXJQRA9^VTDU+TBO. M6&HQ#[M%_[FHC^8]?&(TD17)#574_R[JBJ==YPD2MD MP0U,5BU"T5&XG886)[#J&1F*1F% D1$DVFSY.M&HG!;SS8\S%K'M(WBCM Q^ M\(J?H^3/)%-@;RW,*!\.L\661]@UB()0$7B4-J)?B91*,1%<2T4GI&PP"8%5 MQ_.65K@>**"I1PT-L,$SJC=B,\/0QVB7,* M5=WF_>+ VP?92RO<+T[4@D4Y@R"J0D.7OFMVM-QB7SK_1^VP@B151BNW$PN: M:-? +M1.01Z)O^09)=(U&KTJ>T:C+3RC5\N=+FNDETLK2;"4MU+:D0YIHV+, ME> <;/!WQB] 7/J!7I,$]45B^S;B;8-@Z^FT3V==D*=:F)=S$\:+MC!?1I9A M+0.^] H^WW[YIGWXH-UHG[[]?O\%5O+;IR]_WG[[\.GC[A+8J9UX;51?"65> MC);V!SC4 <\],'3HUM-I@L MWBX28XNP3/_@;[]AD0_^_JSO M\V$<833*CY/BP_"(=HW#7WT.8 &P'Z,$TP?H:\++'B?1E*PBA6G^C$Q=/C4* M6\4_BUB9KEBC=M"17#"O-<[R-P#A&*^2#KVI-RXN!O:FV!)#[=3O/F+S.? M_3^>W;GY9S8<\T9L=*VC)"T^D:4970N(.4=4L,'GL @T BICX37&)N&1B&:0 M\G3RA[$I+1B/&XTUU-4#ZNB6E1:]]-DCU9KP4&_(QL#%^.ZIG^27G@NZX(O# MS$_XV:."M/PU(JC"O8VQ>RW#_GQP+8QV@98D[Y'.:Z=1+(^@%6?">&!6HNO( M&_A8-=4&7@:LCN>RF([_2*C^1<26@79Y9-G^G@_U2S$6G;5#3\9 M#C_S/Z)II\25.+[D)'X4CEJ-(=CJL[(WR'TV$=GR@ES>T$RGH ME\T8KR!RYIKEFF_G&IS1=G?QQIIF"VY;5&+3?@,QB>+DF+T]M7L63] V?0CS MAG0IQ9Q1R]$]'N2'?X&!DFU*LS*-,2R91%F![?,Q&&<8SU&0H@ZP1W\=2 MKR$/P*YPNXU;\(;*VXTY(--XP]N!R\U16W0?XR,C> L\LD+XJX WVO45_2H5&908YK*B+[+Z+"H;6/!2!%<#V16A?0_1!:"S!%HD$O$( M5)4_@)9,Y'G]::Z[O"")2!^628!J>@AZ,6%U"!*M:.#F)"GNTL[?*]L6>-EDXB48\8T$%H MI!+Y)WB\+A'>Q\C'% !O4LGENYQ(A;V@/JGJ]YSADXP2L\@L,'BY)Q_409:* M%K;2/DO7J7)PAV]_POZ5,<2A>UZVO"GX,9_*YY1$32 1A,H2)IKG(I[,W7$3 M%A.X_/@:/SDO#E (V#C^+Y+2A;DD$V_#'/@KD@Q;1^28W!J TH^''-U%P"7% M*.9H&_*GBV-*^&+V8Q8E\F!6F$331_HJ'W&*3.Y'Y'.FWN![Z= 'J-\XFZ4% M0=%9GE!--Y&Q;'2U!)@?_()82+"T'D\.Q>L=#\.)XX M:M)G$R\8Z3SQ. 6YHC2\= QY&@9599&/Q_4&>Q)3+1K EL0Z@W0$ _HF60C M29<-U68-7^;M8>"S+!HV?'TR-IK 7\)*0IP'FMF3 M")/T0%&=%<:HZ)S%-R0-PJ\0Z_ M^KQB2$ ?G.7%,7,\^XR (U,>#,I2 E>XJG_PN-O]3)$U 3^ MEC_@6(9TX*LT\A3$P+_ACH:&^XNB.>#31;]3K@I_5Z*7F $Y,PG+N2=A[#M. M$O<7"(7'0D4I-!=Z'Y,!F'X8\Q[R6-;!>$"\447$N?8,\<-@E1+51:4<=(.. M^1%4<%++AV-DT>G,\[E#+5^*06Q*N0NQ\P2%5Y@?) 26\V?RR#E9/,XK8D2A M;> 7P.7 N@.FEU632"5@ 9_%HM3!L7&2B3\3D^9611@SF)@_SM<]QJ \%*D; M0F8;YP>%23*X,N1JC?#L&)A85//DL7 -+;,_22G[UM+>!U$?YZ@7.B"6&)B< MBS&QXR-D &YZ(/U9> GH/3Q@S;T=[B4GT6R"9\8')9LK4#SQ1^@N8"<%]VLQ M51?)VB]567T8JF1LRU7W@1\/LBE"B^;E(YCR0^0C*&?*6RQTL7^D -#[[H^R M!-LEJ-$8 K>!QM \AK@]>6_S M"!3XAM.:IVB@RNI):MJ\.8"\#50?H7!RA&/$4U6K:O8+8S#BH/7."CHTG.PA M5MBP["*D?K1JL:@F+ Q\9!P,!!HSGLSQH7M"[^=QE_]0C M*V0030"R*KF',1MG@8<>UH//'O-NC@_?D!:QAYWZ XK'<11.W(*-R1" NXAD MCD9I[L*BT:1_#.9]TIL@O"E27PB9ELB,>4O[6T8!>\(*CQ'8&1U&V20CZY-\ MHTC[[]]O+'3^D?S!+;.8AOET%M,Z;J>PV=+^"F/$>TTI#?R5SA\ASW(6(VQ[Q.A@O;^R$&MJQ89>\.;U M&K]Y=DO[$U'%OWHC!F)8.L*CNDS*72:FZC)Y1I=)TR1^\U&OO]IV6 M]HEBV ^%XW,2M<-F36^U ;EH;6GMY;R@62!N'4O' @4&-T!53.*\YN=7YF]. M2/%N6L//7?DBSH1^]J6IB?,'"37OT/OZUX!W'[1(K7>4W.HLW"]9JM5?=."E^ M:\J?KOQZXV\W?FEW.JWVKC_>^&77VGY@<3GM;:%L"#Q%)K++-RU^IJ5C WL<+:&]A+MV>:E=LS MD2"K+M TK*LOXMYVN0U]]*?U3BP7276WVF48' H*# MY?+)#?$L*#F7KRG%B$_!G+R5MHEQYGMS] EJDYB-P*4:AS=856MWK/8/]L,R MC-8D!4'EAQ]E:A4[9=>??@1L+L\BF^TVQ*7>@OMR%(%=N'WYM&32!)G<32A7+UL) MY%%"C]8[1-EH?/GX]@NHYQFK_O[]]^4/[@&IDU M>68WE^KH///U[O<=>>8Y/N31>.:;]R,*H^D<]'B*U7,\7#68L*EW5-XY27W3 M;MW=_G%)^F8%[]QYP2 3%XC]X8??\@GDVU6M]0N\::QZ_T_:_&TH^D,1!0/^,_IHC3>:)UC96^WM69W<:E& M;UM8(#70TP.]9)M&0YH*UO1NV/OIW2C0S55_W-9M&NNF?"(K_?KA_&=9N<; @6%+-UO2!1\2 79K^-<!SRM80A%+AR M5HV<3/.7?_7V;_/7V^3=N'47]MIXJIFOT2O^-?E5N^UCX\A0^T(("I-=A'QM MN\1IZCQ%D46*+'8?(766^HT4G=Y>?XX1Z0!A39\@U@ICNB9)W:!T3U-"7LM9 MG]GYM1\-Y_"?23H-WO[_4$L#!!0 ( (Y)"E=V>FR>,! /6V 1 M=&=E;BTR,#(S,#8S,"YXB6)(=)_;$Z< M6&.[3>]3!R)7$B84H0"D;?77WP5(2A0I$H1DQTSIO,0BL0? G@6PNP#)C[\^ M3#UR!T(R[A^UNF\[+0*^PUWFCX]:?]R>MS^T?OWTZM7'_[3;?QU?7Y)3[H13 M\ -R(H &X))[%DQ(, 'RE8MO[(Z2@4>#$1?3=ON3%COAL[E@XTE >IW>;E(L MN2L.W[_[,'3IR&F_@P.WO;<'!VWZ_F"OO0][NP>NNS^BN_MOQH?=O0\CY_TN M;7\ Z+;W.KUN^Z#S_EW;W7/V=SO[W7WZ#C3H@SR4S@2FE?'GX((]:DR"8 M'>[LW-_?O[W??*?7Z71W_OI\>:.+MN*R'O._K91^& HO*;^[HVX/J82D M># &?Z5X [':V\=/MU1O>U@TY+""HJ5@#-?!M1W%N!N(-K!? :RNUX([^^H M^ZJB3KO3;?>Z.5&S9*_=V6WOHB0- L&&80#GR-TIC&CH!4>MT/\>4H^-&+AH M&!XHZE<*I&X'5(PA^$*G(&?4 ;-B/KTB1-'%IC,N N+G)$=4#G6+I0BT6(M$ MU%YRAP;:8E5)B45UYW+E=\ +I/K55K_>/DBWM5.]UE"VQY3.K&I.RT2UQU=L M6I"RT^[!P<'.@S*\]2U8:TJZ?%O]V>[VD%V+:HMLLGK=^*N=R#U&&Y:#SJX- MB=R6;5@[S(ILP22I?\MMF[$8L];-B"6MFJ&!)#AOQ_QNQP5693ADBZL_U@P MZOL\T/+J2GQM-F/^B$<7\)*B\3#A\AI&R6R:FZK7#!C]WR$5CN">873MS 2? M@0@8R/0TKP$F D9'+379MY.YZV^/#M]B2Y(BN0I6#5+=WD$1\"Z7/4ED%1E' M+8D$>!#IILX=GPFP[3B*2%PW--$_??\=ZMGV'T6 M*^E;O$^8>]0ZX>BEMHBZ]L?U1:%SH6N,RB9@"=RR'9\Z^E^7M)?^;)MHJ8\[ MV;(9E%"">^5_TG]G#3L6CHN4"&8LHK+$G"#FH0%&3$F28.2&)5$L"]DI70\H *[-X& M88,?C;E55".-NYO02%ZOU/)+TVE=*%#RT15.SKJ-6PW& D0CG7O5Z%S"$SXB MRPI>B%RJ_2;@SK<)]UP0\NQ[R(+YXNYC,5M6A9'J=YM0G:[QOR2JG 555TH;M3]05;W$11YK%97?RF$D8QNEHP$[@W1@'H-6$ VC9X+I=$Q&WK0EQ)#3%3&):-# MYC&5Z;K"4%/<3JC_&^?N/?.JALNVJ$82>_D1E=1 HBHTC:E*B*Z%J&I(4D^# M>+VA'O#1F0]B/$>#=T.'^>,%&8E"+J8SRH1%:&4-:V1V-\NLJD)Y8U$E9%%+ MFN>D(K*LJ4'<7@*54#4^B@L;>=C+\A )-DBM.D8_ICJ4G,XP[K,)7PJ$C6I_ MES-_!=362"0-U2 BSG%(_TF]$#ZC":)6=*A=D8?ULD8:]K,T*!RB@4@:J4$L M?.$!R &=4UQC]=\5&U'(E!R&O]LUG9[NF4!=KB<+ESN!_@ @B^ MPRJS4(9@Y",7NJ?0]/J[@M<@7FY@;#,9+8H;-9X+V!/1)BDW'$KX'F('SNYL ME)P5,RF[EPO/EQ DPFB0UOLP9O($Q[.@C@JNK\%326[M;/<=#(LELW"#JJ(9 M.='*W6B7GR M.JFM20Y!G#N_5?Y050)798S4Y%(LL3QY'2$T2=WYG+N5Y@O%C23DLB$**I>O M;R(E20I];L5$5LI(0"X-LD!HHM(+,^]6))A0C*3DDB2E*?PF$F69<+<<0YM@ M&TG-I5PV2NDWD>PH,VNW(J5%C-3D\C&1>!-UO3ZO:Z7[4@@C%[E<3%&"N(GL MK,WV6I%3AF#D)I>U*<@:-Y&:)(%E-U16A4P$Y ]:) !-U'C%W(L5(7:81KZV MRNHTD5.+)$S?=76MU+OPU6/E^N(I!)1Y3Y#R*:W-: >Y7(-]&@AM9]$$DFH# M>1VWHDEF$J=J4*5T/!8PIA&%R64K(ZB&9:0XE\E(TDGZ<@I:,;M(-367NT<8 MOE60C+SE$B!+WEX&7$F"4+T?PPW5Z:BB8[OHLC,')[13YH6XP-EQ^X@5&DT@ MEVY9GX1$;RMN@AK"Y2>,WQ#=&#V?Q\UII-TLLHEV[.?$C!RNR:XL\I@-U'MA M"O(FG$ZIF/-14B)]TXZD[>HP,II+RI0G0=6NMJY6#(!)PLVT2B1KU8E9G8)[6:JE:1/]JTX:;*"]\F2L[# #6,HT<$ M[)\X1CX)98!.L$CR64\[E5BUP&@YN=3[9Y:QOLK,D9^\N>&XAW;QJI[W11Z"7C1,AU: M%GGCALDSU?W M;=U8+K<;@ANISB5'BTY:Y\LJY-HGH(\XFNB?02?[J)!*MD'N5=@&\E7^5SU2HCU3$7\+1I*OWX__=QY^N>D'KPMU' M-5[X#A9B=Z VN'N=SOYGF [52^SI4&I=H[!0;ZA4']U Z['"\)GGJ=4HP="? M%SJ<@6#LWPR?^ BG,>KBAA1#VY MT,(VD&:=1!^F"9);P^@]Y$$=/* I]N,C.0[*0V7(AFW[]4/(V,\C;B0!X9"./,>MJY0,0^O0L5G4U M]%AT#/I:+6<^^PC=ZH' MF0>Q\Y*FJ/ T8:$9;(FZQ8+BPK!NXP7GN\=>311B7<<+.D"%AA_EP8P.5$7Y M6OA3IS ,+E#1(HR.KZ!RJ51?XAPCJ>J)L:M1WW&P?:H;@,%4V:BQAZKK4#D+ M!4<'$0;\'@1&0N6<%Y6N!KV MHDA8]GT7"1T!4]NX\L(?Z+Y\!?6571SH=R#H&,X>T'=A$@:".<5K[;.WZRG9 M013=^ K\9".2:Y @[D">A$*4+5)&N=K&-5]"-3RN1F?3FDU9J7623Q16)4(5>D.!F .P] 'O;;EM[K4 NV[>KO_ M:C3(OK!R?@L/P;''G6_%?=X2]BD'3)!44W7,R/Z:XZOZE1IF150'J$N7RP(; M8RZAHO!SIQ,2_^(: K7W@8W6](5\Z"?J?+:?/T%6?2$T<$J4QLQ MNG J$I]X=5*)7:QSIOK)J)>Z93+K'U9_77-!*IM!XQ"SFDF52=3"IJ)(BH^T MHU'P9),A##,)/]$D7CTDRWO;B_-M%_XL+#9XL^#3<6@QT14L-[;+4_V=:1EP MY?LKQX%[GEK"X\2A5"_?D"I6B$\<,[.?;0E67]U$D<()"#7].KH)Y9-2F40M M)J652"CQ$T.<1]61=;R(JY#[F>&<$Z":*@94%6">/\I:R4@.XIRAR9'JNM^]]B"'[M2Z0QS5YOBM,&N:,C.=E^L[Z,"$T3'Y M5.G/59'R.9,.]90W M]X@>8@%^;<=MU=6"JWX\WN*3@:O%PJ,?'([&=.(S7%X:EIYRF3HL/EL>D[,] M,+PI?&U]S<+(!]?C8T!KAT&(IN[\$20'$-0>4;0@?.7BVT6TT$%)X/&85=0T MA,^\_[;\69;5%SB69LRVA*VOU:5W';-^1M)/7*"YFG&J[5V:49Y_ZS)>$.@8 MKD97]SZXOZM7K_^)E]"_+UMURJ1JL;BLVYNZ^1Y2 >=08N FL>?.[IO3"+8+ M2 E";4=KO]?I]?2++E;>;V%P'&ULY7U;W[])(Y$6:(IF2)QR&-/1[4L413Q M(?,[B#;][:'XA3]\@-,TR^/I^]\>_O7N!?,/_^T? M?_O;W_\78__YY,W+!\]F:76&T^6#IW.$)>8'G\;+#P^6'_#!/V?S?XW/X<'K M"2S+;'[&V#^Z/WLZ^_AE/G[_8?E _RJT+\DI8!Y1,,VE8($[P[).5G$K+!CL/G0RGO[KU_HEP@(? MT/2FB^['WQY^6"X__OKHT:=/GW[Y'.>37V;S]X\DY^K1^MT/+]_^^9OW?U+= MNT4(X5'WVZNW+L;;WD@?*Q[]YQ\OWZ8/> 9L/%TL89KJ (OQKXONQ9>S!,M. MZM_%]>#6=]2?V/IMK+[$A&1*_/)YD1_^XV\/'ER(8SZ;X!LL#^J_?[WY_<:0 M2TRS]SC]);KOYQ Q$GWZFBU8.\!/HY>CB&.)^/E M&!=/5_,Y/1^CY'(R$CG+W#GB:PDL.NN9UT((A3Z#WY!9G=>")M9IN, B=FJ^ M'.)1%>8CG"P7ZU8)8.L$O.\R,R-3\+F]F38@F07)L@?E@F'BKX9#9YA01H^O\%S MG*ZNL 2NT$;-69*%ENAL)2W1JK 22PB<.U5B:Y.W'+&@9?=Q^O^K,>%^ M/+UNS.AWY$WF%_0!TS2&R19A<:DU1*.8$1:9%O2=-R2L",F!=D::E+[G>QP3 M\"[&7()E;G>*::C M)^9:0R8YQ1B$D$';UF39'^TN?+(_)I^.I,)V3G5G,$=6%)N*%DQQ10Z]$J6>:4+TT9'YC%XQK5WGB(3K;!Y+' = MP)""P3TT^XW;O[=PF_'S]7SV$>?++Z\G,%W2>OZ<5O:/-0?X)Y+CZ4U645J& M7$M"%&AN3@.#9"+&C"**TEC==^$94@#80/O-1-_.4_K8V<[I^Y<("WQ3Q?BJ M_+6X\/I&DO[G;2D,O"7[*8 S $DD3>31A9PY3;RUOW07H"$%@@WHT$[XS?A MKCQ-^^7XG(* Z1*F[\=7(4#EJ/2I>$D6*BN?"%,FT^6T9D(!D599%6-K\W W MHB&%9PT8T5#\S2CQ[[-9_C2>3$;6&\R)?"A=K& :!?EO/CDR4%HEQ)1"U(V5 MOQY[2.%2 S7O)=*VT?$EJ6;3=.F+6)\-)FL9"(A,YR"9%RD0'NN(7]&!XJUM M_38@0XID6MCX@X7=3.]OE[/TKP^S"8EP43V/Y9??IVFRJGO#KV?S3L3+Y7P< M5\N:]WDWJW@IT"*)T2>^)WN$67(&B;,Y,="Y,&^B=#J%8G/K MK:(VR-O+;U0**&]M80H*R0*<9D&30 J%ED&CTLZ&WF4QI!#I!!S;?.(.5%.S MQ^V/\70V[P1P.2G.@Q()%!7+P52 S8@*+B=.\DI5D[AN391/#D.*I 5#E M(!4U3AA=ID8(P..F1E4T2:E/)?]Y(T:U1@\A<4'"FWK/U6K MYS"A#UT\7CZ%^?P+*>X_8++"D9(Z)+! 8#P%NR$E%L%SIE36F;LD2_-G82=@ M0[*E^_-BD^?M==*\!.$-)B1@]*13H+.>LU$4U$AKR%!3X*O1D,/$560FH_$Z M D33FB5WX1F2]6Q'CF8::,:)FMZ?0UK^<[S\\'2U6,[.+EWH:\ 2**>EI34\ M1U>7=,="M(%P&IUL$2Z[UN'*#K"&EZ!J8CX:ZZ--Q<+SLX^3V1?$-[BLN]6S MZ=,YYO$5(&W1AH":&8UDS31Y",%%S63"!"49E=U&[O*60H.[QQE> NH0C;<6 M;#.3\/OTG,:>S;_4-!C8;+(UF;G %7&-6Q:YU2P&74KTM&8!-'[VKX\_O&14 MBX=\;PDWW)C"CS#.SS]_K"6_Y*]D^)9".:CH+EFSKW. M*-&UWY_Z+JSAY:Q:,**U/IH1Y5J!P<@KI4RM*E'=%FH)G %YK2RBX]IS MS3&Y5(N0G>O*D2G.\5Z0#ZNSB<-L^=G9>'G6[>A,\U7PD2J@(FV Y JSUM6-;TGA M>2YD>[FT7F706K7FP!UP!NI$M^=$*Y4,K?1'.%Z4=N3'823KG81FT6,ADIMD M<\FRY-:!71^E/X-QM]LS[P2*[I&D(U/'MZ+&#&#(683(P 3-C DVA5""-JU+ M3MLORM4:S*;=YUYNM!M.$TN6'%]!L_*9LZBTKI-$5R(IN'G>;A/#D);G _6^ MS?CN+>YV=0TYC^O<8?(:QOGWZ5/X.%["9.1LR)(>*,:=HH<[1,]\].0B& 2: M%9<)1.N2ANU0AK0:-Z9 "^$W8\(;7,)XBODYS*=D8Q>/4UJ=55%C?H9EG,;+ MD0$K)/><%14STTH"@V(= Y>-!P>!P#4FQ?=1#6G-;,R/QBK9H,K?'VU*["7] MW+)[T]LE?>W>?(4I86: ML*DGG:4B_TV:8E5V(;=VE+Z./B1G8G\-;SFLN8]TFZT;-V:RD]>>T4BE:5$+ M7-9S*EFR8-$SB<=LBS##R1+^0% MC0_$[B21I1R+IC#3B-##2>^M%F.??E'(A@XRG,O_Q.M%CYS.D&SSGNS[ME)M&,IOE\&]V";I_*"ZNTY_,"'8EX573W!*/NERI),$#(8S MD^N>#-=DGIS1Y):Z8"'RD&/KTZ3NYCFR((TIGA# M4:P*-$6KF8>H:[K02&M20MW:AE\;_O# N*L36#_$FQ7FSS]?)BYK^0G]ETD! M([!>^$"J]$E[$CER!N@B*RY'56(4PK1VV?> .22CNR]?OHV9^]56P_VPQ?)5 MJ4?LN_PZSL_'"1=O9Y,\\I!]B5CWH6M;15YK#P0Y7B48G8I$ H:6+Y;J_D0FYF#]M.]6 M>2UK;VS&8%$SES)%*Z%>*02Y7B3DL^/%*MW\EH(M,(X4IQ34'(!B**4+/:ZZ MD#>8HZ6H6H:4 ;GTS0OP]HA3ONNU]_MT'$J36_RQELKI)1WHL@1ADV+<0F%: M" K5.=6].!IW726S-@7RDW[']PL4%Q,9]+QM63^MKR($,I MS$+=1@Q P8%0R))'0]@*9*Z:[U9MQ]+"(UA452$M.L\_5_6MQHL/U5-Y59YA M7([JZ1,M2V*V<%=W9PR+17M6N)5%5;T4X9#Y%+2P)I:"&]LBM[1^N7.8(=F[ MIHIO+.'F-G -@GN>!3I!%KQ6Y7!1F-?:,56\-CQSB[9UTG8#PJ#2#KT\_(?( MO.U)WJ>SLX]S_$ HR.6Z5FMS#N-)+;1Y,9N_A0F^Q;2:7QRNR/]OM5A>=M=_ M5>I^5(@8+43%2M25MH[05W$$BH1\,4Z[T'JQ;(5]2 F+7IAV$B7WVHEL%"-" MEMXS:SC6^H#:?"=P9CAW)6L1I;0[K4.W##"DT\/M5Z 64FW852(NK[%N@X]O M$":U:49UE4;1^L)SY$PZ5\- $#1A2=Z0YL%X(T5JOBSMCFY(G:IZ,2,]*>JD M)?ZU;^N+R>Q3/Q7^7S_]& 7^M\RE77U_'8 B]?,Q?=J3+W\MZDT:E]UIIN\? MI^7X_.*LMHDH5.&><6X3TV!J_6UM'HW%1!#".M\ZEMP=78,ZWX28NP+)/V=+ M7%\S.TKT' $GNJO$,]/> $U8658Z\2,2$(7B8KTWKX<_'9 @\JT]T2A M+17?C30TO)@4A/(*E6?"U3:=J(%%YX 9E*EX3VJ)K0_M'#,F/>99GF-0\21Z M[^/\CY"\.-"U#TEULCTM/B$)[;X2,394_1-ZRWN3N,7 M8Y#;>M6\"/52JAQ8*/4^2A62DLEI";,@).,1T8B<$WFUO;M,MX ;4L[L9-Y3"\7UR*MM MYTNNNB>/C+22QWJ*1)N:WTV&@2?K:83Q7M7.#[GU$:![0AQ2DNUD'&NGQ'9, M._L(X_F%'=V\7O7J_-+5W9PF6UG-*3-$>UJE>2$'+2#S3D'Q0BL9FY\#O@_ M75CF?C*6]:; 'JW9XY3F*[S>,WL4N9&>HV(>&' O&+?.F%1\E+'U<9Y[ MP-LIX\E_LB"P+_7U'0Y^E=)!3SW @6BXA0HE:6MTYO M[H9L)U;]_(GT@Y76[M#I!YCC$^CVCL]J+<#%839CC'/" /.(F6GB,Z- 03!$ MH;@* CRTWGK:CF0GPARKX/-(?&F@DR.=2,5DM"DY,"Y2W02J%:DZ>)9%,!Y" MA=?:&3KX1*HX6FWH$3.7;534JDQ\T]QMO]/N,A5V:?UJ[U -QC!I(^$L+K"8 MT3"C @3+I0]\(\%T:_GX'L/O1)R?)>5])"T=Z]"J2*@Q6V11BMI?F&)$;T"S M*'($RQ4Y::V[U[Z&'Y75P[,4KV9 M)DFFP"5:;04%@U8:%K*AI=>4B+)UW6C;HG;A?S):]:2\EJ5&Y^,%B8L0/9NM MXK*L)FOBCXR2/(@:.Z9LZ4NUH1DY0QN,]KZ YZV#^KOP[$2@GRQMW4P_?6<4 MOUK)Q4AGCP)"8=9CS4Z1F?1>2A9CFZAV*H/\^?/3!RFK7?=/ MFGO]?[TEY)P,8;?,+I;S<5IBKK\@)^[F"]?>^1KGXUG^=FJ7.\O//Z\C@M*=5!LSQ+?AZN^;GMO.I?FB M'9?0-62K5S9[>G*$RK6)'_G_M)S+U'HEVO<\XVGK_7]\>AZJ_E-8SQ)M+M(Z M%D2JK0BEJQ(@N)EGG9+E8K,GS\FLYQZQ+GSICC>_FSU.Q)4YTIBTPBV_O)[ M=$E\J@SJ6FZ.LC7%2"91-?$]6B_&T7K&PZ,Z2=1;KXC=Y9,!3S"8)6F!F$F<1M*Y=GS!Q M4RB2;]TWZ;N@!M5[ZU1<.DA3+5.]5VT-:O+Y5>ER0?1R7M6)K\%A"-8%%9CT MM2!?^\2B-F1)L1CC$T?;_/*>':$-J;O6L;C4@]+:5.VL6;Z\Y>K$Q391D.6, M*G+-?$(BOJ7(#$RHYM-G)\!Z;S2Y=5$",BPV ML+IMSGRL-Z=PR-86\J)4ZVWJ>T(\=*V]9;AOQNF4- )($4S6+,5DZ)$#H$>. M'G#' Z*44+*2QY''=H!#RJKWR;7-Q;<_+39SZK9"O$T87_N;C&CRY&KF>G=R MKK7A1E*0'( 57@H/.?."K?LE[0EU2#GSDY.OL6;[7+_7O9^^'+ *?_,9#=;2 MNW$U6A&O!JF-,E-!"!8R"X;<*LT-^6\:+:-Y9@PQ9ZG:]R;[.O[A!1^7G_7/ MV?Q?M>J;(I+%15:D7E@T/Z_;+I9;3S:.\5*OL(F.IIB*95[:)#,$';%]MX?O MPAK2NK4W([XMZ6BKCH:%09? 7M1;5\@][>X7O0D,B^!">L502U4;2N#%'00& MA$FNA.1]Z[SZ#K"&M,2TYTDC=;3GR1OX] =0)#J&"86=/L488F .!7E/ )*% M6F1KHI 4\2H5F^^X; 4RI#W0]ES86^1]>@HWMG+@VE;.VRJG^9=96;_C^B\/ M<"L.&["!#])PQ@?8#INA483:X>:YAC)X+E;'SUY]#]^4&)A%Z0 M-$E']"^C%C["5YS7X%6_5"K%G?+(0N*B[C<&%F4"I@H8A"ALV.Q'>_LU;EM' M./0*NHT/_7)A]M%:SR,]%!0.=\YOW8(W@6;ABBTEFF3TGK"_#&L9;J*YS5OG M#A=JFUWH&MPN"<9YW3S=,L]K-O7&H6!A>#;IH 4K" M3NK?$\!P%K_V]#B&3EI>5WC#_M+,O^U1"=D+(P0P:^JYWY0*1>$YL&1B3D"A M-^3V!]J^CZOUW+N'^-O9)R4Y1%>/G=4^4R +BR@R]9&&B++14Q)I\JK4F)("Z3:6M$+%:KN9X?2:SLF[6N.Z)=<1PXUYPCA]S["^M%H'' M][R)ZJIDA44)"G,U+T3#>K]U\,&S>@-8XB%%E4P3;^[0<.3.S_]2.VFEC4?L M#9[!F&0X?U5>C!>D\?^+,!\E3PYVR(Z!J4FK8NI)I2"9I)]IXN0PJ=W2K(T M#6$E[H4MNSNV/6GO"&'25N05Z*LICJ+@R>8@F%>UG%@%RV(&K-=O&I>BKE>< M],2T2PA#V)T=(K?VT= IV?3NTVQ4N'4N)O=6$&:J%+31Y$ ,6<598\X(@^N#[Y5$$, MX53*8!EU;RV=DE,O9JOY2%OIA2^!N0"":9$\"\[7:_]$-"B"D[C;$97],0SA M]JNA,NK>.CH5H1Z7) M$^H][\+J<=.C+_8=4YM:[[W M0WK/"[/^1]'NWIH\!NNJ&+33((/5#%4A$YP5+?$V&Y9S3%J!=*[Y7?9W(SKN M4[8]<:1-=EX6K'<&D=^CB"50!+# K12HDDJE]4Y< ]A#2 [VP+K#'K[#%7PB M^_\G?EZ^^X23<_QC-EU^6(Q45,!#Y,R6ZBQQJ2J8"63!,E4T%QXZ4+R;<^/[T7T"'D'@=' MO'V4>/*8*^4LO0'!9 #.="SU#@ 'S#C+R5,7WLO6=Z?W&',=JV?.L#AW;T6> M.N"RX*1(/C'>M1TKA3/@63"%H: +A#8?LV3FL("K[_SE(#EW;S7VF+SL@'X_ M%19%YF26-5.&UULI;&2 43&!W-B]MFRJ M7787%^5"?]!\SE9GW4NU*]&XZTYQ2%'5/3Z]1?2J('$R]IZ$J\:L'=# M7R6PUWV]GJUPE%6171M*Z7TMN8^!@>440.8"/()(LGG'WEVQ';I,WCG.7]-, M87,]#(/Y^>?: N'B:,PH!@E2.F';YG+9OSJ;.6BW@!SI5+PSIK#BBZXG% *+.BF:?C* P18RPHVY=0N4(>4P MCL*>%BH9QMHW$OVN?B-QW/5OO)(^B M>;_:0:R ZW&V9Y(Y2D[L\77_D.PFKP>1"SUUWC@I75'%YM8]%O='^T.NA??A MW;W6PG:*;;8@[BJ4;[+(Q5@AI*?01"@R^1($ U4KP81)B: :B:VOX]D7ZP^Y MI/9.PD.5>G0*KO/)V1 XG2/S'FQMQ^F8CT923!Y!\^B!-^^Z=T^(0]H.&!3A M]E'A:7C6Y9 U".2J9GI *Q()/0DQ8&"A"B-I%U&?E&E#VP88'M?NK<:3L*W+ M]16%UML4F%?(F?9!,8@B,A$I($XBB-2\VN^^&(>4_A\/JQ=D4WM2[S^>7/=(/R?[O.5*#3$B+.3;* MB5SL,UV-_8RBPLFL8AJ! J] D2/N+-:#^$ !8>;,N6(B\"S!M(ZS;@5S<'.\ M[[QY6^7;U<<^P[C\^M,H)F?HR;),:&YJG[-ZKB@*^I(--Y@T M/7>M)[TCMB%E--JPYIMN=7UHJ4];]1C?CQ?K?@50;P^]Z&=1I=-=U+487[3; MV]M&W7.$!K;ID#FUM$G7QB(TBW'NUK+9]-T3 E ML8 ^UKM/99:J>+[9LZ"-B=H!VT&NU:Z#/$[=_M:"?(;ZV(Q4Q.0N6FZ'4AN/ MDK\@A&88N,O*HW0^[>1?[0E@<":J-8EN.%G'T%+;B]7(KFZ")F.*66G..1,< M:?Y"<'+\?&)%D'])@D$;\DZDN6N4(65"^V=&,WFWZPZ\XYR[3CV7%P "!8ZN M9,TBQIJ3)4'X6 QSBN8?Z^E%?2KK>@WFD%*>O3+K6*H\.N>JLT&A#CTP-]XQ MDLH;1<\*RSE3]&NY(#LI%2L9@PLV)17@1/R[!?*04J*#XF(+%;=9"C<1KYO1 M7=[#;$WVF59AQL&1,+B'6KR=&68ABQ/2V;1;;>K=XS2=PM55'*,@P2<0R$PJ M];2GS\Q7]X+;9'C1)GB(>Z&_&F(('EYK/=[IU.TGW'ZX>GM[=A^\SO2HUJ:, MBK!905%WL,R2-\E%E"'M> GNSD,.P:$[*A':"+_Q@8_)]LZ:%W,7HR"R<44) M)D*]X"?RR&+FEOE0$EG=$I5JG<+;!=<07+:^N-.;?OHQ*==[:"](9ICKOIMQ:*_L2EM5]O.4K6_'NP9*"JZ< MTLBLMA21!9'JA2J6!>F*SMX79W;K+_O]L0:[5!^'. <*_UAV]^D5-AM5<:'N M^0(M.KSV(,NU]V9,&HBRWH=&1O?IZ2WNU:Q)I3EEQY3VB6E/\_>10D*,D!1$ ME5+>;];[X?F!;.T^O&EI:/?18+]6=HVH@!'%EQK<[(<(O,==V8O7Z]?(BSP'W_[;U!+ P04 " ".20I75(6) MWWU- A60, %0 '1G96XM,C R,S V,S!?9&5F+GAM;.V]67-;29(F^MZ_ M(F_>U^N5L2]M4SW&E#)K-*9,R215U\P3+!8/"5TDH ) I=2__GH< %P!$DL< M@(2RJTI-D13.%^[?B7#W\.5__,^O%^<_?,')=#@>_?5'_A?VXP\X2N,\''W\ MZX]___ KN!__YW_\V[_]C_\'X/_\_.[U#R_'Z?("1[,?7DPPS##_\,=P]NF' MV2?\X1_CR3^'7\(/;\_#K(PG%P#_T?VS%^//WR;#CY]F/P@FY/+7EC^=_+O5 M+N90$FCT&91"#\%Z!0:5]#F;$J3Y_S[^.U>N)"L#.$0.B@D.GED-624CF>$F M:.P^]'PX^N>_US]BF.(/M+S1M/OK7W_\-)M]_O>??OKCCS_^\C5.SO\RGGS\ M23 F?UK^]H^+7_]Z[_?_D-UO<^_]3]U/KWYU.ESUB_2Q_*?_\]OK]^D37@08 MCJ:S,$K7#Z#'Y]G5/[R)1O\T_R']ZG3X[]/NW[\>IS#K%/3H$GY8^QOU;[#\ M-:C? BY \K]\G>8?_^/??OAA+KDP29/Q.;[#\L/BR[^_>W4?Z7 T^RD/+WY: M_,Y/X?R<$'>?,/OV&?_ZXW1X\?D$.,JSY]?\Q7GP492[@\GS5$?/^SF^(=7X1A2P'?^^@&:+L/ M@@N\B#AI"?76Y][ N01Y%V']R!FF\4<<_26-+W[JT+T8CS*M&#-],1V?#W/= M8-_/Z,^ZXT['Y0TQKML(IH]CG]%'0]UQ&6V/'8AXWGUW<#F%CR%\'EP]BE#C M*_IR.A!."&VX!Z,]@K*<02R:0=$8O-!2F&CN$V"Z)%0)T]A18/&(GZIT?\+S MV73YG4[>G:S7HYB+=O=UO<,O.+K$7R?C"Y+L;!+2[!]T!+^XG,[&%SCYY6LZ MOZRG]]ETBO3?_"%\'4@C?1*&05(Y@2HV@Q.9@69,,1XB4^@:+WP'F+,?WO!"6IAR9C0^KFCE%:(T__C">9)S\]4>V+YM>C*>S-^5OXW&> MGHWR>YQ\&2:EP-\FX^GT[61/Q MSU[)NXKROE;%OEI=G*ZCC[]\_5R/X>E9G'8[T@"33-F5 M89270K"@+J#$DS MJ:W2+)36.EX+YMEKO(V8[^M?[OU6XXB0G=->=5(B)*6EXXFU?M,?AG1X+C12WMU-H*'D>]CNW^/Y^?62!RAS M%-X:2+D0^;,A-,IJ*.C06^D1LVQM$]]"<"IJWT.N/6S_[W"*](&?B(4OR2H] M'W^N>]X2G"Q<1A83&&$=*%0.O&4"K!:QB&@\[\$?> #0J7"@G=3[.!%(+J_) M/GDS>CF+*#LE*";"%3SZI",*TPX+A)Z%Q@AJO> M2+$"T.EQ8E^IWZ>$;F0A/&;'Z"(PND!NC1<"E,X!G- !##.,%SK$O"D0G1&@ M"U$X9B]8R8_=6#W^F"/L]0T5,NY%FCT$#9;@KN"4+&3T1&%K."A.<)S3#H3@ M2IFBG>:Z\7M^!\))*+Z%>!L&#SH>_G+Q^7S\#?$=SF@3(XF^F& >S@:)>>TS M,9![1WZ*]0F\LA:,%#PQYI+!L-'[O.8!)Z'09A+LP?]_B7'V'M/EA,1*R_P2 MAO1+Y_CK>/(^U"2%<#[\;\S5,QE$)KQ718.7&"K_(D1#IJL.A=N"+M)/&[_> MFZ,[":+TK)2> @73:H(B>:V_?*UFZ>5P^JE:.F]*7<8@)E6LDAPR!@?*:0V1 M$\E#L-$ARU9@\RN%QT"=%%G:JJ"'R$&W]A?CB\\3_%13M[[@M>=RE]LW6)__ MZW(ZJZOX'6DA-2M"(9/HL4#ILB(RB+*A-;,4I;:Z30,\?CL+D6R>9W\?TT]&,Q'O> M!63F2QVXS(L5S$'V6'-W%$*(JD!BW"O44D:7FO.GM^6< 6?AJKOL]CNG:EW M.9F0G#J!T39?2P+.:0&+U^QG'&'-.F+2RZ(8R2UR 0H+AZAX 6%MTH*L1VE+ MZZ2]38 ]>V:U%_]]CKA].3)//>OBQ+2Q&NV*!YT-G?HE6R #4 KU1_'8+*Q MC8EP_?1GK^T=!7E?I7Y?E=+Y>?P@2OG#_+BK6> M2;!D;!/K,$ PRD(*VA1M-$O)-];S.BS/7N5-A+Q"^WLG^]T%]G.8#M. #)$8 M,#(ZN!QQTK.:14+^%S>89& V6->WZCL@A]=[&T4]HOWMA=S#O=Q=4"^'YYK)#78"8K0+M7,ZH3"JEM1NP!LJ):G\70?>0YOL/K(7UF,^^ MD'_[$7^_K*)Y4SJ(TS>7L^XZF7#/R4K&*Q=2 :M MJWP,]T%8(ECR#$&JB6< $7IL(R13O,"OZ M2VN78__KC;'*)U]\DWQ2_SGXY M[Q[XUQ^G^+%^L2L3II-9C9;DRS1[,UF4M9Y]'4X'DDD625W@6*$MSBV.&X$:W.ECLK^N[P-IN>^OZ[]RK>XV.KJO\$8"/ICV"_IB2XDDJ2AJZP() M424RJI,O1GFGC&[XAA]*Z[>ZV!Q%Z=O(M0>?<@'LM\[R&5AN!;E-M'5Q6Y<7 M-#@T#KPS3.7@>#"M4_EO 3B<2==0*?=O$W:4: \=/Q;K6H")ULC,C05O./G$ M(5D(RA? PDSB1I)R6@>);@$X!?7N+M$^(D(CG'S\=AM2\IE[;POX'"0HR0)$ M)C-@4-8EJX,-K=,Y5\ X!57O*]VU(:#_\=,=J9!C\<^^VHB]GXW3/S^-SPG M])=_70YGWZY^>AMHH[YB#SWO (W&-EYN?YW'E%9%FV)!*VG(%4 'H40&C%NM MM,@H9>MZB?:=QUZ-T@3#%%_B_/^_&MV7[+OQ^?FOX\D?89('1B67F-%@G"Z@ M4D[@,9!YQ)5FI= ^F%IO.UM"?!+QHFVXL2+?J3>5]&%[W M@D77,BU(!K.V, MH9AH\3Z"E2E8S;,*H7E+ON-'#7M5VUWK9"^9]]& YMY221SSQGAOQY-.\)OD M4P3M7%+D;6EMD.RL+(%64@NM7;1H4]*Y?3/'%LA/G&Z'UVX/]VK7&>S3#^.S MG#L%A?.W89A?C5Z$S\-9..]>K-I+.=<$>;) N@33=TB+G@YGN# 2W^)D.,[O MJM$R5_-_AO-+'#A%QB$/%IQ-KMX;TSNHG22)"Q]XS$JGUGGG?:_IM'G]I!C1 M0W7@;\/1>-*]K?,W<"G3FD?]LO:]\K^K[G4!]GGS*W5Y EY#\J0 M9^5=)&\K!\N+=E&XUE9?*^RGS>"C:+B'0L3M4R]CY"8(SX G66IV7H'@>8;: M7]4%J7+[=F?/("/VD-SK5V<]5#+>2 #7(K @F2=31)!_)@+Y9YPDD"/2PG/D MV#QKYIB9](>DQ8Y2[J%&[+Z7%*1SEDD)J#/MHR M: B921!%14/"L)*WO@M[,NDM^T2I]A#CL=-;[BUA3L9JWX]'U1GH[H"Y0\$C M641)U64Q:R%:Y6E%C"$M*:G2_!;M(4!/) %F*T6OX\S> N_CDNTVIL7%TB:@ MMLF&V>:Z;16@PV;%]*"XNY=OS:1^,$J(9$VJ=_W<9SHYZS5C-.C!H3)1I")L M\X3( U)A3:K,L9BPC;![8 #!N1C/C>7%S7!ASKGB(I"W4DU(+\ +QT$XH:/V MR5C+&VO_'H@CU%_LKYQ[LU/VD6P/]UAKXG_+!!_FE(X^DZD4:^R:C"9?RTYT M1D\^#LE!B^:QW0< G0(%VDF\AS?_'4V!!,WFOO4%IF8C5G5@_W[T/ZGRCG08X/OAY^R=2;0ZW5:+4 MHH[V]@//)I,P^M@9CC]_N_Z5M^%;_=99#3I>AR60Y6)J0P5=HU(JDRD91)(0 M0A)<\N!=\V87^Z/>.QB1/F&^/,=%9>$]+)TBWWSN+G/.TFSXA=["3HT?2'$_ MTR?]=EO6V-^HCI&L=EJ'W@B"'570? M&5^/K."&**?K9#D/)K%D3%=?S]&[VCTW FWH&JQ%XT),5F$\,&,W!G^PN.W3 MIFL_RCYVB+AFF]],/?YE-)MWP>RB'$EXS70MRW4,%#($;[2"F*7P]&KR)%O4 M2*U[_M$"P<=APKBQ1AJ7TJW"M(QB;H"J827E>B2'+Z5LHZE'5+^'F ]' N>2 M5DXP"-85:/\@L>J9^\_^K"%6*TT,FXGSK5V M;DOG_R5.TV38V>;C$B^G9&%-IV&48Y@.I^/R>8)36L3\-+P*;KX:E?'DHOOF MRQKP.M\I3M#JT?N'%'H10J/HP\\+.&=IGI\[7]O"#-8AJRQ1DQEL8AW2R\ Q MLCV$$!B$,V0+M[[1?PC/WF[899P.\S!,OKV9S*-RO^'LTSB_&GW!Z0SQQ>7% MY7DW5>XM&7E5)1_QS1\CG$P_#3^?E1E.SL[//Y#--@VI\S8',DCM,14HGF1# M+QB'4"]D@K=H1;;6RN;N6.M%'#Z>T(QS]UROHRJX8>"@FZ!S V.I*//_'I/ M_Y.^=3FI+D%A+#$'9"/4@0:%O%-;ZV_1AEQDBB8_ND4^_I@3($=C6?9P<[9L M<'4UZ?#]W!>?#K(VC$6NZ !G&E2=ANJ4,Y!"L< ) M*+:9_!K6%&4<#CI3_]N2;LN1:.38%TU7&@0FCLKF109'TJ. MF&+ZR\?QEY_H$?-7FKZX?I,?>/ )J+J56!O6Y#PX[XX+*T6MX40?$=%"B M3:PH#XQ,PWD?4Y\]@^P8H^TF>&%:-QO>%-L)4*17=?102;,ISFZT6/?+TP': MZ'(J"G@I!+DH#:[8##K;H%E(RLEC,>@&S.^03+LJJ8?Y1[>GBW7 !D9%199- MG2579^XP2^YIXG6;]+7]MI&I>6G>"A@GQ(M]A=QPIM%#1^-B&-.@&)NY0PW-V;R#4M M":TCRR=H3:YI2AZ"0D9VD"D!-S:&GK8;9U+OVV& ^5W--?[+A/I1P[.^,I^,UN,U9__I,P8/?1PKBM"/NH^[QC4'<\MD+5U4B0 M%@W9U)+\X^B0R!R4]$6&@*U[^Z["\5V8#WLKH(]>D7#(;5B(YC M)>ROL4X>[ +UJ 3QF!D48#PG(,2M 4&5RR4C%$9YX-K[L8>D@2/6 "' MXL V4FY^YN/'X?36>(#IZ]68\%D+2)PRQ0H3ZON^FD%PS%DIA EW^SD M?^ IAS__6ZAAW(<,#Y+@^PZ_X.@27PZGX>/'"7X,\RS7Y;=W3]_=[(/W3\[= M80&-4F]O/_+-\I'7X:PDDF-DZ@'WR=:JGP)>60[;;ZHI:PAS3[QW#VZ<7E=#8F8_>7KXOV=O6EHO_F#^'K0 >5'6*$Q#2" MBG5ZO"D&LI/)14G"":RQ&': >?B-IRE_[G>:Z%=1/?@E:^0QM[>17*.L:*=T MRM#&F;B%P(,$)J,MFIL8FS>G>PC/H<+EO7*DF<"/'1Z_7:%#:^EDTQEHZ(TN M12FH=9;DI]7K0(,(212?N#1>2+D);S:N1KOY]&-YL^T4N[(H;6IM',>L0MU=1P^J? \!'TKYV<>@]="@JD=((KW MRJ36UN4:*,>J2-U'3^/V0NZC_\JR!^<,+W-:U\%Z&1._?;B[R%PO<"R(/\F8'J*5]\"LB[9<1>,=ZW[U!Y Y9MV)^Y;XUL(MW50 M>CD$=X%HV2>O2*5=]_!&:M.TN M[W%38;4N@UX&P>\@XNAR(0B6I6XT'H/ M(7$O->L&*?1;J2^E1__;-6WO[!: MOWWSFXP%K4B$RY:U,?/@1 3C8[4RM89@,4*1Q7 K'"^8-]+?ZL]_M@IL(*Z& M1M*-&>)O)@MN=2=#".0%:F)4]('6)U, %P69F2$ZZUB(8K.IQH_U[5GQ[),Q MCYL(MV'!\L,#XSFT ML>3,I8(,%%,)8M$%0F#"HF*%J["1[;7V$<]9DPV%U\>$I9N)0F0H,7/ ,:)%6!)59"*TC%RM@/&>=MY)NZY9 KT;363@_G[XO7/>,X:;2F^@XS)J/-?W^)D,>6I]H)> MYI2/R_74X-N_\7.8UO* _')X?CG#O$>V7<.G[Y^2UY@9'DRJN06!VN MJT!;$Q49DTSZY@T_&F%O.KY\('UD&%2$8K,D[[D@U*[FP$T1V3F2A6M] W<+ MP!&2AH_!H0?GD6^EA![N:/^!PX^?Z,T]^X*3\!&7S;WN38/N7O2!T!ICK.-W M@W&T;((=@B^U@2.99\8%JTUCQFP%\#ME5']*[,&4?GE/6F=QVF6Z#M!GYE01 MX)D@OPT)HT^UY8LW=&)ZGTIIGWF]#LWAN=2C&N^ED#;100_L6"F#A75Q3Q!G M^;\NI[,:_Q\PIJ-VM(-:G6J%AN,09$"0(I+GG\ASR*V#*#M"/4;&>AMM;[+K M-%;5H1CVIJP#/L#DF)0Y@BPBD"/J/'@C ]"Q;;1*5@7>NI9^2XA_GGK-%=E# MQM-=(.&-]1:2%P64C!YH@0*,=RE+ET)1K8MIUD#YDRT[*Z9A ^1&LCF[ M&%_2L6PP%(>2@78ZUZ3VT>;[NW['G MCP)&V[XS5+JI:1 M\QRB9PFL,JY$VT:!?60,+?J=OY^-TS_??+Z15!XB M&4Q."L"$->8J',08 CBRM>NT%2]C:V:M!?-4G*==]7;706\B](-T<'H[&9,9 M,OOV]CR,:H2R#D[\7&W*]Y<7%V'R;5R6OW'SAWODFNSWP/W32QHNN%%&R2U$ M9S<>>NW?)*[)LV$&K @2E"?7V!=MP.@4G7'1LM(Z1>)Q5 W2CU<_H1O@1CX= M)Y.4UPN90B^@L@HBK\W.!+V1+&!)?*/>*RW6W"$Z_";5F!DKLI5;*:"/1K,I MS0>VUGRNSQ-,P\4X9-ID.K&/\MG%>#(;_G?W_;6+&00NK>.(=7*8J6%T5P>X M:CKM8\UK(>F%UF,T6V$_.MAP4$T3M+6[ )$RA-+X3#:,'4@3<\:Y+9 MP<[,:U@GPZB^5-'#Y>UUP' MV'DHT#.1O!&!@%6/I##"65-OH@S,1I\EQM;) M;IMB.]0U1,]LZ4453^7J8.V2?O[V@3ZBBZ^0LTQ2L@%T3O0J!$G"$U%#EL'9 M2 ZUS.%0N](UK..'\EO28=,=:D>U]%-]NF;U] &+(,PF$'N*MV\ [S@A]^:J MW90Z>^KE2!3RV025> ;-:L5F*G5P"E>0HS16J\RM;7T9?S3J/!)#?PK,V48= MO1707@%;1&51VI22(UN-*T>V&DH(RC(017I1@J/SO74IUDH@3\A0WE5E*TMJ M]Y%W#Y&EWT+Z1);=Y-O-!2\K0PUW08E4IRLA*$%G>B2 H&U)C&61O6E]*_( MG-,C1"O9][ W_'HY(>E>3I"@_3K\6K]:U@L'QM#6\N/2S7^6F9 )4Z 08&0V MA(*M6;$>S>F1HI'D>PBZS"^5#7Y8CV8)2SE@! MY-.3IXAVQ M=&Y@V\RXYRY"9HX,[!(-! P>O&+9:BU]+!O9FH_TTKIZX$F&.787:>/VB!V( M);TV@-&P1]Z-1Q^^*]Z.PK^KOCTDU[CYW4TXQI7D&&JP)=1\,%8M4NO!HC$J MRF15DZDOO2OP@09W;?6WC< :Z^TWDM3%Y<4""%F%WNJ4@ FNR5ITG(!(!2PS M)EQPAJN-QCD\HKE;#SULGZ2=Q3YN(;.&SG@')'R]"40@X])[P. \*&\T^*S( M * CVQE9M%$M7KM;#WV&RMM99FO?O);YA'<,\FD8Y=?#$!>7ZV]FGW#RX5,8 M_6T\SG\,S\_G]5_3"78I(;/Q\.J?A^Z?[Y%HV!.2_3,0#R&B1JF)O];UX>OA M%\QW4;^^NAOE16F1D8-GNE1O2X'GY')%7H)4T4HC6R1)LA.[QOUYPM=YV['E32 M0WCY 3'<2'^[F>8V0/)#I66!A%+G,(8Z:B,P\H:$,UDX6HYK75*_/3"JCF?0'H9"HL^)=&ZAGX37"=(H.;J M:-]#=@EP:6-\FV=W,T-VHBD>@E%U]KS/M&HIZ*\ZFQBS24P_9F(]^(03TG8[ M23:,-G>@5B[YAC6Y;AR?MP19'W8K.8]K'6BOK MBY-5ZWOS+2$>__:L+5'NF:_]*:P7Y^=!N-=@;]1Q;P*YIQ3B'> >)Z6X5QIL M1[EF.GPB]./D&0@A#,B$MO;DH[?3I00"R5CRT2&: V]QAZ/=(^G(3YUUVZBN M![9]F(2,%V'RSV7ZBO,N6\80A+$!%(\!G P:N!52\6)"E*T[:=W%<'C#O7?% MC1M*O8=@/WUD-F^QRP89& O@BL\@DVTA,*,T;HU ME;: =^+V>%^*ZB$S^@&H*U^R3>#V9(=O"?4X-GAOJM^<8LWT=M@M;"7LY HK MMO819@)!&4N;;9064E!6RIPYUP=,2G@R-O=39=DVZNJAG4L=/?@")[-A&:9P M<_!ZEE)Y'4D$=2Y)4AI"TR8W7/R^#J2"*7K'5DLB-K/HOP M$4BG38Z6^NBE_&_4#:CZ.4Q7"&-9;(;>:&<@*9/(MRL28M(.O.,Z,6')YF]] M<[8!K-.F36N]M$[+^/"AR_E=@\Q(BU'43<^GV@16.7!6"Y""U_B2E,:PC:R* M!Q]SF@QH+-ZU.15'S(G_];(KA;Z1)C(N+RZGL_%%G7D\)_X!$^.W@G/P[/C= MA77(%'G+DW+TGSI%7H"R1,Z0A:EI(PE_'X^6 GXWKTVX M?L[U9$=)-#!UO)VEI8**D4,0M!\[.M6E8::HG#?:ZS9ZW)/:\W93_ZV-KKV, M#YSO?N.]_.7K9QQ-:=>L\B_LXYN)<"#WLML@)]?6$^_#$> MI!P-4]9"=$K5SD<%7/ &K"3L.@;C\)#U/VN!?N=DVT5=/?27V0$TD08'@?'( M0HGT+E38]:WP5MDZ-$]8KK0P]H!6Z$-0_^39#BKK8:3K]K!_'5].!E*JP*3- MP!6K-T?6@!-H@6GG9,C>*=8ZH+X;TC]YMKW"&M8IK"^=Z2!7E.E.Q'D M"G 9",SKM0[3:;C8^80\0)\.A@VKC/HM,CYM5K<4A M)FN/BC@NO2:_)'L(*=86[ME)GD0(N76C^X<1G0QQ>E# ?7K8O3:9#59N>7(B MH(:@R7M02C+: V4=?"2*=#YG=;<89\OV%J1I+MW6"QX/%F=]6[6NK(QM* M2.TB"K L1E"T#$K1/ 5DA=_-LMVE:'9S0 ?>0%IK>>/ZV9Y4='R:5 'EL$!0.8(0$HNSW,AH>R+6 L)W3:5=U-"Z3\-NJ&LP@J'V M-GH)/'-9XZV21"80O+<9T>B HD$I_T,0OGOR;*N&@W:!6(^ZBS#D**R2*H$Q MM6]J3/D<(]SQ! FVMBM;-(';#W;E]FFGF:N](,N,) M;$P%G H!DK%%9%=[',0>&70$'_SI$6AK11PDBO,@[-NQ ]HC"30B';;(:Z(? M R]JHE_A)F9T*F-?I]@QHSE/BTF[JZ1A.&>C?CHUGL"M)G:3D^JM('PV$-V9 M#>#J"6P8]ZS%OG/HCC7'I<4.HFT8JEE&*_Y& GH]GD[?7$6L/N#D8CB:]TP* M,IMZ_08VUF UEQ:B- 6$+,Y[$:63K1-N'P1T0M&<]@KHX8I]BUI,;FP,&1-X M;NE$1/3@?- @8\$D4Q :6T_;>*9=C?9A2T\*>2I=C;:IF?.FE,*"!!-K^!RE MKS.B33?Z%Y7@6,H!TX>>8?7T5@39HWIZ&T4]@7+63>#^63W=@^KWK&O=16]/ M@&Y%8W*6%SH-:B3"L0(QDND? G*MO'"1MVYJ_B1HUK!Z^I LVT9=K6\]'KI6 MOE66$U$4%00%+BP+55@1ONF-ZLJ^BF3WQ2=OG^>MNT+F!GH?=0 M&G"O$F?95*F@+UX@D!M!_B5GD9Q742>Q22\,*J55:[M\#933)$E+^?S-S[:(YCR>ZIIG$O,NYA#UB!+&$1O@0&4F@RF307X+-+ M((NQ=2B]-,V[V!U*ZX\8EKTK?1O1MK80EX=/MY&=79?S?EL6ZC.RB%-6M+9: ML5,B X\L YUK/F:9BO:;)?$^\J##'_7[*F)5CET+*:ZU]%I6O7>3>/>I4[_] M ?M7EC\ J%$M^&LDY6#WG)N< M(XO"LKN7G V&/S\(J'B5(WI)!&7S"I)JO M;?'PP[_9+36]1-I]QQ5]^27K^D3 M>2CXZWAR&_G5P41>IN',, WHO05EI('@Z, S19#;J32:V-K+WP/N:;'I4'KK MP2^\#>L?6%>"^>P+???CHN? \H?U5IH/="3GE\D"0=8!7$YJ,GTL@QB-MI9E M;YHG!&R+\;3(U:N&>BB8?A#OR^$TU0F[[\(,W^(DT:X[\"[1"Z R&-:5*AD) M3F5Z#0+C0O-@??-:L6TQ?D>,VE=#K7-EYX*X#?G]OR[#!']%G VR]D)XQT#X MP(GL.4'@Z$D.P67ZGY%1/N;[;/"U9KXC,&*"8C**5J^R);NLSK.@RTV+M)S0UZ4>\$ M];18=0A]W:>9:[,UW17)_+)09)%")LH[&X C][9H?MQYXK'OV9MH;[RO%AG&Z*Q"+:Z!-8&QS@[Z)4MM?KSU^ M7;Z'\.^J;P_)]:C(X(7%I TD>C(H61"BRQQL3FAS,,CB1O[%L16XYN:[O?ZV M$5ACO?U&DKJXO%@ T;2:&"H0Z6L;@5#KYG2"++E/&G-AIC30W*V''LX8VTOL MXQ8R:WC3U0$)7V\ *2P:QU&"2)D. D%&G=/90TXY&>-%*9LY<8\I[^9#GZ'R M=I99XS?O_2S,.IOH?2+;?#(<=]M)Y$8DQ@.M0]?R>;+V?-8(G(F # TS:B,G MZA$EKGSX*5DW^TNWX?50!VB!X^^CZ6=,PS+$O,BKV0140[MG+9##6T$-E#3N M2\*MW_:UX(H30JHZ.\386I**'J(1"#+1[E:SK%)JL6T?6.T/V$Z'TOHV@NU) MV[^.)YC"=#E+5SOA;3"U#T%7J6H#>)4"*0K12LU1WZTCV4O5MY]^V*.ZD5I6 M*'H/F1XD>?#];)S^V4UW>C&^J)< 7>7YZN_ND6*XRV/V3T3<>W&-TA7??PH3 MO/?$L\FD6HAU;_GYV_6O+ *D9W^$2;Z.IFD12T2703KGR/0+9%1DHI!WR44M M6(AN(U]GFP+[O5'O/Q7NXF*AKQ?A\W 6SKL'=B/ )U\PT\LU'TOT:CJ]#*.$ M@\@21E&W9'HW086BR;V)"41AZ$R.SC:?*K$UR,/'\P_,O_M#Y/I48P_YF#O+ MZ_?+JH@W9;Z^LR^THU2_@!;X-_JWLP%SP><@&3")]7XU:PCS')V()@8KR E_ M*F_Q(VOY[EC\)$C10^+ISNMZTSF^TVX1TU>CMTCF3O[;9#R=#CSW00;!P-A( M[R_C'!R]TI"93C'3^^RX?"H\7[^,/RE^8"KTT<.HXGT[&=*A(LAET\F[FKIF MJNV-X"0C)-(J&4.,*%O;!M=/_SZYM+W@>TA*72V( ?8K[Y_1J&D_\, MYY?(!U+;%#RS8&6=UJ&BALA\ 6F$$(YADKX7HO6PEN^3JL> E?I^OQA.E4 ^Y MR;] M%K8X"L>3Q;?J[_$!TT+GX"3('"4HK05$I0V8[+ET,B?%6U?L'W:%?[X93X= M/>2'7_>6>E3LTW5RG^>0."^,#2A %YOIO1<2G%$6A/+_[Q6\H=E GCQAIIG%"R"M.R+=,&J!JFCZU'D3U M>XCY<"3(16:!M;5F++[6!<;%0P]<24_T 6V2%UOXUT&^O\ M+>UOHUG= ,/HNE\:G:V\N\&G,U;E"H?%#!&C8X8E(8QHH.P5CSYL#EDKC8S; MB;.'U(C:8J_VS)VWWG8:?>0&@LQL[J+ZY%B]OI9>,Z9":1W5N_G\[_/0WUL3 M/=RR+K$LF_%O@*:G[K*WD1RIL^S.FEFCXCW$VD=3Z=NH3 DN>D*E?&TY)!PY MWH9)*-P('3DKPFZ4)OS$E/Q8(]F>=+R--%OWCSV[Z))=NT2]>9 ^C/*K46T# M-/R"%:A@S"S.(:6U#DIH*%B'UF59.Z 6!RAMCD8[E^[6;ZUIOK/-4P\?1-M' M/>-#R+;A&3\'2AH2'54;8Y$ZV=DQ&3I(7/K:^V3B7FSV1(/ M/N89J[F9]'K8N.>&!_URMVDI&URV/D&Q0==*4$[;%U/ 6(J*EL^R:]T Y1: M[]MZVUT7!\N0VD00U\L8Y3OOT"9KZLD([&,]QS$E]Z#)MM?UA]+Q,5*8=UF; M-RKDDBPD7]/1O"&CSB&K0\*C2M9%U*TGI3P?WCYB'3]QVFZCVA[H>G4S>FT, M7K5&,5Y:U'42< !56 !R'>@/%FT@*X'QU#I5<"V8)WAAW;NNUUUA[Z6HUA;Z M[^/1OR[#>5>ENLBE6DZ;C+35\ YCI6]IZ(>4OL>4NY[EUC:\%*Z$(G2J7@! M*DFL\XP,*)632]%GQEK;' =3_"-F:O]ZWT:XO3I&RYWM>N-;&C=7G2F*(\O% M@%2Z]I9"#C%[ \$7P8,04<76"9B;HSN\V;&W,M?Z,4TUT6OQ^WVD9/[@'; R MVJC1@RU6@3(DF,!"3FN1?:5X(O: M]>_\O/M7=?X/B;#@L+8$O'KG!ED+[8PV8)7M;FHT^-HQ(V!BT2>7G=ILVM\! MP'[7''Z2C.BK85!3&PJ%(IFZ HG3JI1A"D()70(BYSXH[^U&I3)/Q[P^O%07 M&V*]O%M(U6.H2#OD&1I(&E?"OF)J)LG.C9?Q#/:4)Z&1[X?#9Z@ M@S+O)$4[89W5F>C+#^/ZK?N;2"[&>!\*L;)>8571QU@B>(4B,D2E^5-KM;3I MVOY\"YX":1KZ,IVIL#1ANV:1=+1W*SJ+T]DDI-E 6U9LS+58LLA:("LA6%<' MWT@;Z'^,G*^-S+X''_/=,*NQQ ^6C#[W?,XN9Y_&D]H$YN\C>MH-1Z@F>$UO MK:L;O_1Z_ =.YE\-+X:S@42O"+X'E>N 8S2TK(#U(JYH**0B6=0' MB?$\A/+9<_1IZ;&76&1\8&'QX9:]B\@3YG 5=4*RE%CI^VD'&.RUV;Q\SX_/SLHCY2JU]\O7F M0,M8+Q+HJY(\""&,2R(BCT\M@+#]*K\;A^^9$.GYOCH#+;Q4-6!O7+"@$JW0 M&UL@Q125#L8*]833OAY:VC-Z20[$TN.\5%M1[$G55V_2Z_WV4KGC.J?JT41+ M+GJ("EPT#DSAQF$A[ST>?'14N^7]^4;M^T8=B6I/S8W>X'[\P;5'4X)(2D%2 MIK88\I;6SC-(:636)7A=-@NK'WDA?[Y0:UZHIZ"*8E&".UL5BRMNX4+,"C9G,\J $O'3GCD@$/AKSTD!5$XVL9IX[& M1I'Y9DUFCY/C<2(;W--P5/N@S!.

9,5_OD=/EV ]C.MZ-$+\R."^]C::SR67GK;^9?<+)AT]AM!#&6T5[Q' T':;Y M/,Q(.A!>!G""/$]EA8.@0H'H\/EN[TP/A!&>FFX@\(2'9\>:5&!K%+ ,E2U'4?:3GO0:C-5D$FJ(UG':-*(![Y.C,]!I59A0GFV4'OC=3GK=B@F; M3'K=1B.'&_*Y":KO;=+K5IK:;-KG+F(^' F,CBDYR: HS4"5.A1-U(X&C.68 M%#?&;>1^/3'E[S+IM0?=;R/= TQZ19M"<,5#L)CK9 3:V%#5+J32>IV4RDUF M@#_E2:];:>212:_;B+-A]\ *IZLUZUCKG#2990*1$QG;3@OR>.N Q]$9!*- M#1M%&1_1Z=4#O]_C?3>9-XPR7(&XFFCQ.(R&!_B-1Q_^Q-Y1^'?5MX?D&N_/ MM^!8(YW6";A-"92JE_*9T1EDE4T\2Z2?/@<%/G#J-M;?%@)KK+??2%(7EQ?+ M,4-1&>98 "T%@DJF6@_9 7I'&PD+*O@6FKOUT,.>I3N+?=Q"9HV/S=_"UQM M, O'K#)@R,XC6T!I"&0% ;)8O)HO)UE=I#V];^&X:0+._Z& MH09/.P/@ZIOC47B'Z7)2.S22.3"<[M'$?L67H4_?>0P#$7Y)5T@Q8BF@WT-O(,--K^ !OIYC^\G'\Y2?ZZ#EEZ8MKIJYXX+&N M(HZD\7$;R3>T_BJ4.8K%[=HF.#:XD7B<"3>?>MC+B+W%/VXHNSYUF;#8G'DF M/\(@J!P2>*X9)"Z,=JPPPQ_R!I^"#M?<1_2FPFU$UE!U\T9^EY/Q=#C#M[6W M+AG?BWAM=(FPB'K5K0RHI#@X[R5$)V612K/H[_A3Z[ISK_S\PUFB^PE[W%92 M/<1HK@Z5G[_="/-V9T5'4)ESMCQFB%@B+3=9\-9K8,Z9R!CS,;:NDW@$TO=Y M_/:AKQX+V17.%2[3@OF;0-TFCV +BFT!\[#'?"]J'A]61SW$^58 MK![4V<7XII7?+IU*;[P2CD#,I1>O"QTUP'=3&. 1_ MFBNC!\)LP_%DBU.1TPEL'&W'-2> #F4&%H.0WMJ,=J-DBJ>__VP9=&NFWSTV MH&V4TX-Y],MT-KP(,WQ3-L"*7F4O \E$V#I/(FF(WBC@3CC)9:HULXV)M V^ MPS.I-T6/#Z2E/H^R6SOSKQ/\UR6.TMPK%"%%YW( EWU-5:(W+-J2@&L;I/>T M4XO>(K'K8?UI>+?46Y]7 :L +O;M32#V9'1O .\I&=M[J'8==1KKI<_=Z0&H M'H7G@B,D+3,H369C"$Y!,=H:0YNXS*V/N:-19R@%4N@ C)P3&@0U@H??$+1?+S:)KB.:%NW4N@&A-E+&_V&'*^^_%]# MG-!#/GU[C5_PO'MODK+6YT)'=,TO4BDY\$Q:R++X($H)Q;=N^+X9LC_MH,;: MZV'&Q\.YRU=XES']#< >T"A:"_3HYE$SC6^R;355UZ%.OK6@E5=<2HGD9S)% M_BWW=5?W8!FZ)'ABKGFGG"? KE7HT^7\ZFG03XXM0VCK&( M1=.!GXG(F*3RKK>@P'TX3\-T:J3(=9394PM]VDXWH(EE@5L1 MDG.M("4A0'D1P5E:LA,I1!9LL9LU8-F3(.+[),@N6CC0#B*7=K_DEGF7:.UTE^ZL1=32B-9]J!^ \[T19!1:QPZ^E\+%;3BX<^'B-OH[7N$BMRZ5)#EHH^FH M#[4E3U;T1PJ!UQDR5K6NS?D^"A?WX5@/NNO!3-OX38C(:8@U M+)PE!M09F6Y^%;S;3G;,RB41);(0$(PVK :T"WAN)#"AG6,B:Z-:SUG[SBN7 M]GE#CZ/W8U\C\:V4&MM-=# M'=IVH?Y-P/Z9_]%2XWM=TN^BKJ/G?R#RXHHM4%BT9 8(I%W=.S Y.%39H(^] MW;'L578*O0(?6 052YW%ESU(IH/,EK9M>8C\CV=R MO;^5(K>XWM]&"PUMIU6](] 9EICS8+@DQ\(P#\Z+!-(*%$%S+1\L-_L.^][L M8O?L*_F&=3[W>E%L@N,$^]YL)?YU35-VD5V??6_0)15MSA"SH3/.\ 1>$S*I M)"LEB\SD0_FA3T&'6_2]::3"S45VH+XW*+Q%CPID\.1:9\U->T($ZG/T:4CUDOUW?^ID4:[F:!,PQUEL_"2%9 =P;;KA+2%QH;((^ M"&A?<_NF5#^,?PZC?PZB=@(CF7:&6;(;F79D(H@,WA?+@Y':ZM9+O(_B\,9U M.[W?-:;WE'$/\<>:Q7 ]&O/P"XYP.AW8&)',>ZSINV5N)\9( M'D1.1@5>R.5L[FH]"NJ4.-%6 ZV/]D?1O2EG*4TN,;\:S7""T]G 5'-&& $Y MZPR*?$]B-$- Y4SD6JG,S4;'_O;//@5>'$+L/029?_DZ(__R]3K? M.#*9LF&A>+"-G%N['&_?OGT]#J.WD_''25C./,P^L^*R@:1J MXR!9(D2A-9FXW@DG;-9W0Q%KG(I5GWYXF["-X,:R48!Q=4[=HER=_ELICF;L%Q M:/*(/7 ^)1)5V5M*X7PD?Y,[RQ?CB8MA-,IR& M47XQ'M7@&(Y25ZNY\Q7F!I^Z_XWFMM!;77".2;TW'W8=E K&29N]KY<,!927 M!IPO 6PNJ9#YZ+5M'J9;BV;?X^1OEV$21C/$E3,+>8H.Z6T ,JW)T&9(FR9B M@A M8HE*!MZZD<2#@(ZPE[3AP=USI)W8^_!-;JWYV\MP$3[B]/WX\N.G60=U M$"VWY$0[T$70$2K00>1.@90>/6=*)]EZX/>CH$Z&&VW%WX,)>D7>-_%\^+$[ M^*:_A:_#B\N+7[Y^GE/8,E^;Q-;+^GKEIHL%.G2QNMN M;H#C!#//MQ+_VHFK.\BNUXFKSG@3DP<;L-ZF&%E'.3FPG'/T6@8L#^W<3T&' MVTQ<;:'";41VJ(FKR+TNP8 T3-.Z& ,7> *'S*!(DLS*9YIYOI6P-YFXNH6D M#A+%>3\_;O<)V=S]B/WC,P^":A2,63SC'7ZN@\)&'U^-RGAR$198%\:4-#R& M["P=G8Y>6%X4^%+(^C4\6X5*/H2F*PWW2F2X=!ZP6O!'-ZQ:LZ)>PGI303?0WCF'7[!T27^ M2B*I%N0DI-D_AK-/+RZGL_$%3G[YFLXO8(LZEM9?81WZ#2<^/Q)\B'787;0X!F7B8]J"T8@\!,ABX2"IX#1&LR MI*0XT[311=YZX,C\R2>HW1U$VD.&^?OT"?/E.;XI#RSXYV^+'\X##RB<3K)> M5%H9R-BEXRQ&KT'*8B*S*JO8>KCQ#C /%;/KG2A]J^C8H;WI9#:@\VXZ/A_F M;BV=R#K'VIN<@K75L2:)*4(.WM:UD.5DN?88S4;Y*?2(&RRCOUTS;/W3CQ7N MZUW?XZ9R;VA5K$:T'&&X :9M4MNVYL0Q H:M=/2@RO<0\*&4[X2(KAZ+.BI# M9JY""()0&F3H"DM:;&9;/BFEKXDP'E+GV\BU!_?AGK^\"*<%G01&25Z-X*6& MT[JT.T-&D39!R*A2;ITSL ;*X0S/=GH:MQ=R#Z&)KN)V83K\D ZT$I*/.D+?;NF?"@X!.@ ?M!-[#3O!^%F:=.;G,EUR2 M=;[ON5R2+5@;^G@"YPQXE!F$5IED@-EN9@=NXW$\!.C43 M-@#34^7#+2#'*7-HJ*B[%-A;RGWL%K= :1MM[90(6: $E9BJ\S,]!)--8H:I ME%KGCQU Y8^4+!Q*X]L(MWD)XV2<+]-LN;1EJ_&(,K$Z"%,G#8K5*Q7&'#"6 MT3'/8@QW!K&MJV%<]?%'BS3N(N]Q4V$U-/(Z1.]Q\F68\ XBK7QR=.@ F3)D M:'#R9ERF\XAX2;Z-(ZN3;5:"NO+CGZWZ]A=6\Z20$4X^?EO0ZMI03$Z4;!Q" MS"D3)!DAEE+ &28\^0X\\+*1_E9__K-58 -Q]6 D+0N.\&R4W\P^X61)K,A% MG?H ON8-*A1D[CL;@:%0M7<*86M]6;<&RG-4>$OIKKW4:9D.=(8?A]/EI7(8 MY7=X3JAS=P=UEOYU.9QV3]@C6VC+)^R?3+3/DAKE&MU]UO5]3]):,5XX%%?M M+QX0?' 6BJ5CUTGO.&]]1;86S%Z'P#*S9=$GNW[\!/- !91!QFI5!E'36FJ^ MFXF06/;&.&N\1)Z73_038W$\*W^:3"\:3NVN>#K*7 MU091("S601=T%@7Z#B3!O-6,I<&H!HA'F:,]2JJTPE_V6!Z)X'3TA-4(J4+3M01 Q@391Y)J))N1F+2%V M!/#<^7(PX=\GC#K4+G15K3:[]1L#+KQF09$C%!D=DC8K"!H9D%O$R?3)B37O M$; GY.?.MF-H[C[Q]*&(-S#*&5N+(GVNLY1*X!"RL9!R<(*EXMLW2=X4V_=& MI:UT<9\SINGI]G8R_HR3V;>WYV$T.QOE7^@GGZNU-XA&:JPE&;QK\12S!5_= M,PPYH4[&2K>9?;SQ(Y\[$7H4\'T:V*8T>#7Z0I#&DV\#HWGD1AM(H7;V]K4O MAI8:I FVR"2)O'HGM5\]XB35O)L [ZO5[3W6L$H3SX=?NM[]8?1Q2/;1[5 + MK^929%'5?#DFZDBH2!A5JA.B#/>!N^":SS?< -=S9T9O.KC/$]_T];\3BD-3 M5&2:]J.D.F@,O/&:'/L< AD[*>K-1FP\_)SGKN[6HEP1_MHOK'D7VSN?=9**WE.D*U2^ M#?<3:PBKP,D@DPR1(H)3-$DSR@%3K)F%W)L<$VON[Y)TF- M'D2_@BY[ER_^;3S.?PS/SY= 7U[6\;QO<3(*M]-&&W-CZ>PC/<^=)-T!M3O;NQVP.A+'K/:'<3BI9= MVV;Z6 3P+%%'3C9*WNR6\[$G/7==MQ?G"F7O'15O*A[.QG_6C/A%\T4 M!D48;T1P8+4UH'+6M'I,M56:==I[3;9IXTU@ UC/G1]]:6 %2W:. VZ"D\N*0?CF9U*)T3J.@0Q$AG8K8"8C(D<+5 M-D:YY:[U^WB4%LL0CMFH'5E1*:?:;=2#U\Z#929GR;3TR1WB3+F&=)(\.HR" M5O"L;=ATN1G>P%<CKT2BR FMZ#:"7F#=NZ/OZLDV3&GB)= MH?*V8=,5H;IKI,80-ZUCD+7@H)(M$)QF$)4HLOCL^(:9^]L\]21IT$S,*PBQ M=V#T+MA%+X"LT%I%1YZ7%>F=RB+_H&J'KJHK$:T7'::>ROL4X#T>&B"R2F@H872MCO:@Y':96 M)W!I4LA)*O.,2?!(@XU#<6 ;*;%Z\O^ Z]?OUCV!TO9VNP%9%=3 M 7C4$ .9N-D:7X2)B6WJ9S[PE.-;AKNH8=R'#'OHL7;WQNX#_;LYC[F(W'H# MHM1I]]8'B%Y&<*)$PFL#NM;MU=9A.9USOHFT>Z@=7(5K>0!M@*RG\WX]JN.< M^6VTMP$E]A!]#V?_ P@#(FU?=,X51;NA8K7G?/TC:H,V62^D/L0F<40;X-"< MV$;B!^!"'3-;RP_?A1DNVT3&H+2-!KC38MY8S 6AP1),VCHQ!FQ=4_PXJL,; M$:UT^ @U]E1 Z_81=^']X^S%TM#Q&7ER-?>'&X*5BX00"QV>V5EFBD.TFUU8 MKG_&L]=R2QFN??O7= U:?+O^$<,4_^/?_G]02P,$% @ CDD*5Q"!:7DL M%0 ]A4 !0 !T9V5N+3(P,C,P-C,P7V_OK=@E HZ>MJPW P\,#I/P-P.TL0!- 3$A$3$1( M3$Q$3$)"3$I.0TY.1D9.3T5-0<-$S\S,1,_(R,K.Q\EZCX>-D?&^R'V>!_R" M0H(LG*+BH@+B? *" O\,P2,A(2$G);]+3GY7@)615>#_K-OO %I2@"E@C@"/ M&X!/BT= BW>+ G " 'A$>/\2X-^%AT_PUR\)*1GYG;\-"!H /AX! 3XA 1$1 M(>'?:OC?.H"0EHB.2T*=^*ZQ(PFW'[UD9&H1*8]&?2>#R<@^KY23?Q09.2,3 M,PLKWP-^ 4$A:1E9.7D%1I+X+\G/V[KL<4?5BZS*_"5G ;IC?*,O)LGXF@5^,*<]TH 6E$$S MLSX!0<$@L".Y^HN"8&EF GZ9M8)&GZN(8]C%I=H%'MPD22RH7O=KT?+4=]/N MI=5:N%\'I3+)\K5/IZQE%HY;_^.=V!0E?-]5JIN)'W*O<[H<&!OU Q_RI4_= MX6OK* ]2Q+PU7XG=FC%+(Z3#"I-OPJAU*MKXUAU,^>&+@ MS_'@8.]C$<1SRCS\*+R6 /@8*9WKOD_0LFN[GAQR0(*RJ*X #I:!++Z(G3FE M2>X,SO+G4L-&RYYEM.2_^U'I5#0TR.Z0NAU:(K.F:(D"7O.@>#0/VAMEC^CP M[;[#@@-^ID Y'>R[6H>9S^I4R.B8[V*0*:[TN0 5 U<[*.F1D5/E"I?TS&90 M*/W'.@Z0L@-QKL\,E'_FFS.0%..W56!35'+V!:78_'Z'D='DP\V^B%GRCRF> M'BT9QKSI5Q/V0QS)N4'%+92P'A/0HMN7V#F#ZA_5EX6OS/BG#JJF^-&,3;4A M&U9Z9C[0P(0-CHB+">6GKP:\NX/,CY42+D?7FX?N]4C]SK9=G$[1D)'W^\9B M%:.P1^G4CGJ# ]E60)-HTWJCD;BWI]*F*9#JM M+<--Y4I;&3A1L4=T-TZ@P;'4\5=JOFJ&6B323JQ>:MJ3M#JPL*&!@I@ _GC9I+SFOBQ^8\3=;^+?3?3AX$ER!A^B&T44I')M*79R((" M;2Q85%2VIN'R^^5O?>P0LWG:VLWQ(R]['@&^#_JJ 82&.E Y)!\M@$H?4G(9 M^^2OPRR%T*-?D3ONNR5S?^0H47[Z]M#*!<\C<+YKCFV.N]!/YO0&!N'4G\Z$ M"6SY4O:1',$))[5;$Z;>?&<_7A(];WYTQB S.PQFI[!2"P/Z?TA^)'V>W XO*HP\KR^+FY%+L(4+6FMBYML M3)L2HAI:3E_*EQ2'U/'CH%.%D0\;P6_Q=7FC(&8';0GBG"EPUV_M4>A18$Z+ MR3U(^I>^#3PMYG*3?*XA;PMRZ6I'>KZ&N7-X;_#R59!S(8OUSHY6^VMH\]+N M'(Q]XOB'>(TQ.C6B(D+@F3B X4@')3CC0&=]5M4UX_H%F>KV>J!Y$.T+.592 M)_D67KU%*8ECU^Y:.)PX[98DH[F('K*0W,N3;7OU(#0@OMHX](8DY=5()NV; M0.A2]?H?"//I_83(,QJ8E'7FX9Q1R1G4LHU:6E5/&Z,-FZ@WH5XB43WQP46, MQRP4E6Y.MF0NDV6,*"CEX)&,'YU/[I6^ASAWAC'&2,+_./6,Y\AY*1!%1:/] MC=9L0].=]B4V%OWIUGO&P:[G^=$!E3.4=/J+"I0MKS_S%*TTJ\4P?KGW>_ [ M:=/A%1+GAH%QWK0#&QOW36?1K+\CCUZDN1.HG-5UZ+2/+/ A1LL17#JTJ.YS MR[0L1*[+:N.OXU%K^T:9\W2Y2LT*2 M1ED)UKNS1-\*_(K,YX"MA7:@VL,FX0%EJ5L 'S?VILW@&OS2 MH<=H? 8!O]MVH!.[=$ A7G,XR)36D_Y)8;A")J/DC&I8?_QY>])V".2MJ\6= MZ!2=\G8PI!J5 @F39UUA*3MZ2TY#01$.?JAU,/&INDK+E:&V2[D%[T.=/.'% MI46&2G3EGY?J#]V'ZC;8ESO.B2'PFV;.]8G^E=9AJEM GUP/[ 1U"Y"K,T12 M:(^MR$!XK6F.716( M6RB9NG%A&]&-Z1TZ UH97&]X^&\!-<*L?[IMAF-+H7#JN7X1SM"57N4PN/9- MT!ZZ3.^9 7I[4>JG:;K)F.:X0!VPBT,HSBYN #;OW+*,3$6%F#G6\F: MNIZ$KD]+:Q7>SARU!QVI,Z":1I^T65C5MU!7#(5B*OLU.@'IZF_?%?OS;U<_XOVYQ1(2\Z^)$OFA*YK]-GJVL_# M',Y8140-]SBDP\Q.K?P]AV7RTSWL8=UBUPW+&%*N_/J]0425A,A>;\"3A=+L MQ>+T;0STUD!##R<#DG=^7 M9N!G@,?&R0_9R2^<6NY1XX%M1 S A6>?5F:^-UFPU$YZY0_H,E_5V[]7KS#G MS8 7!72/Y:R#3:/W%[O;V/G-O8#&S3FF$_H^BV6FV9PZ05I)D_#(!S?DI>U^4QEXY<%DX(/$5;>%$87.?F95%&=7\\%A MI?&#$XG(E>(8LJAU??.;@H+#6ORZLMWRR')F(_)S2\K>2T%O M%F:*C>2R8-_?^=RTNUG=22Y;&EP OFM:4Z_K/:LV]/^NN$ MT@7UA*>U1^FWNA:VQR=;?^XJ&Y5:&[Q,R"+F3AW\?5S!H1.MC ,WS@ M"UH^!S3,G ME\PU969&FR&IRA\LT2*3-='"^)QQ^YH!N#<(X?%F$M]4O=CA*8;Y9Z!A2D,O M!='(L82O@K,S>.[TUL1W!O!$]T"#($*O5GD>"W;R"GH'^TY75I7N%Y9! M"9S^OD*8 !M_-$ZH[ZB [,SI'/;5ZX1T]6O\ULM&7_5A_M3SB7>P6!Q(LG'* M="!B]1-@&&MWS3#,QB#,.['C5H&>Y&Z*$=T=%@.\]-I@BPY2W?#K2CB_EV)_+*1H=%AL!<2=H")1YS"KTRVQK*&/2$$%3^ M[[,QN@<7:)X(HJ;^;>,Y[YGFZ0?T.)5Z,G!I$6QQ3Q>PE"(_!!Q]&5ZQ"+(< M"\_N=(V2=]6E2$BI2+GJ?$=5O:FX$3_V2V]*F]/V4UY9RU9.Q;R]50%MD.#. MB\3:O))YHZ" %]8?)TACY+P)6%C8$\&_9W8Q1?OYX6[SV:,K8 EQ"05B66P1 MVRC.Q,"V+/[U>[_-I!T9L>W#07;_H\5X,F W_%34 &/@_WE[ZF(J&G%GT"(>LWQUW)1>D$[D5+%:8.M^ M4,?4S<'5^K-QWF9E?>\&? EVD=QJ?1WS)OTSAZ?:U1$O;LG%#/T^1 CRH;-T M,@$G/HTK#SR!BX]?Z5?.U2+:T8/@-B_/A06+)K<[W)(^?S *G?3ZV"&-W>S) M.Q#'4)L;WA2)@0],:RI*$T)WH7=/^O@"QN6&V2(]%1ZC% O3CHA[J4\I0)?5&U;>=?=O <;*([#F-5@&R :2 M8XWP'=F6XY^>A5PE@:W6]]M+XZWZ3G20T:GJRI8,2P5,>:XSHV>\(9Z291 J ME?;?C3>LQUOFB59'ZGG/LK-;>3Y&:>_,"; \0%*)ROXV ]6).L_%:K-<'%UK MA96C[&Q!,_0IU7@J/R4$AK740CN$8)&-L/JS8#S)5!'4P/<$9Q6U1\(8M DD M.W] A>K%8Y7J-3NJ:D1 OM!^%[AAVE8GQ,\9ZN'0WQR!_UV\FX)&FYHS(Q!2 MUA.V;2BVN95+/_$1I;Y_^33&BX?.]D/MCFO]S)/S22!L+BF5$2;RLD;@ LKGH%$GP[W Q MH=_K5%!8/3JN,QSNS%XY"T#I^A'HAU;P(<5[>3>ME>LCUM*)L/>78,'MT<01 M@E6C>JCA.X:&.QLUR@KD$%EVXDV?N)WB!1.D-Y8PN3>[*WIYJ")J]R'BWN]^ M=P10)E.CL(H.)ZXFAX=F2 M;Z$?A+)<[*K$B0%HQ3!SJ$]<9HIGFMV[WTTFIV(I>46F&&:_%*D]23"R]/X8 M[LN>T41EL'RU#YY-6;KL*5.(J4@8=*N%2UU" @-A?P1PGRGFI/9:1>3]-=+V M<2.;S-[-S/2-7[TO@!E;8+.WV?,0K(J]:%?M)0K:OR#SXHNBU#O$$QGK?X#_ MV37K7GH4Z6XG6BO8QBO;RAHXT]W<2R[B:;6Z1$%1T%6[DF"2OL;G-A CH+X@ M($@IRO @EO]=(V[\2BW4.UK,TI\BA"UYS9[=1S#6*$].\-R:F@5>W#<4"D-1 MDPUDT7G:O'![,K>7R<VKR\'U+)9UY*!M M2)[S.I2?=E#WF5N_V,-Z-=A@$L?B> ' _Y05OUQ# MU^,%2.K[SGHUQG@;,M=J>9@ [F%KNA?8VE##'#JC&EZZQ!$Z/-L1K9=[*GSF M5D?599ADGY_2;:**[$T66S2.:3J\U[KK343TEE_C=#4U6PNZ1.F-@9FPV^F6 M4WJ35\3Q.U/U%1<"Q17X\0*%_V.F5A1'* S3G%D:3OH?<<6_A-4F1Y_AU!)# M'>*E?7;THSGSW=D;VOPNL@7@]Z3*B#A<$/)^XHEPIS_15W(&ULW+WIDN,XMB;X_SX%)MML)LO,4V^;9RQY8R8R M/#HBLJK+TL9D6#W8)1>]1"F6>OH!N$B42Z( "J0S^T=E>;B3P#D?B _ P5G^ M_;]_>UB"+W)=YL7J/WX(_QS\ .2*%R)?W?_'#[]]>@WQ#__]/__MW_[]_X#P M?_[\X2UX6?#M@UQMP(NUI!LIP-=\\QEL/DOPMV+]C_P+!>^7=*.*]0.$_UF] M]J)X_+[.[S]O0!1$,OYC^,EA)H]59E]<__ M^.'S9O/XEY]^^OKUZY^_L?7RS\7Z_J_- MV+Z7Z[P0'S=TO7E+F5QJZ:O6-M\?Y7_\4.8/CTO9_N[S6JK3S2[7ZX-6C93$ M2!FF1LK_=JZSGZX0WY.\FV-9/0A7J?O.EXQ]F+[S)NXGS1!R?($[W5PMZI^:;DQ#/61:]=-0=T=4 M^6TC5T+6;'G0-,C%?_R@?UIL[N5J\9Y^-^N>_D(?BM6KE5S??W^_+L26&PY_ M4:PV:\HW;U9?BIS++9 2W^=/3)W*Y;!>B:7QBCYHF?]-SG\G$##V:'6AE.O-0C=5%LMIB>A M!AOE6A*P>M9MNF]+>$_IXT(?L=ZL>/$@WQ9E>;O9K'.VW5"VE)^*=UH!PRW% M4K]__V:E)YTL-XL J5@F(8*$QH8+D@32,*)FZ\MX&AI#1K@X.@^=_=('"V(U M#>Q.@3ZG1*T$H!T-P*:H+$RK8@4[BNC]8JV)'9L,'S%.9:)"A6 HDP"B-!00 MQTS"B$=ZO+(HPBI9= ]6LQBLD<=)JZ 'P.@P-OS]3#\NI-,L P;+YKO_T8C_ M)W#[Y/,_5 &\N?3E6Z\15\/7MX TC7<6D>8W^X5D>/^3K#)7P],N0=,!E(*F(!B2(*HIAJ MI@LPA?J7E$1_X;T-' C0/=!L6._T:# M>F3NJU'^V0IE\'LMOH>]\56P>>(\M[XGY;M!L#SENF&-#..Y6\[76[WIR2G+ ME]7F_L5VO=8=+1(48FP.VVFL$HB4C/6\RH'9\Y 6FD;FG1:@CY UHQ/1',1>1\$0GY_N9E#HNJON4)BZ_ MX&Z)^V!XIED_$2),R91":N8^"L((FEL8*!.NXABEE-/,UOC6:7=NT_VCL767 MFYS3)?A5TG*[KH@6_/ZR>*#YRL'FU@7OLIEM("1C;RN&HN%D73NA^Q4&M6YK MD]G03JC0-9N=^O.P%?J#+*5^Z?/M2KR47^2R>#0#\JI>G!8A#F+,L( JUO]! M$A-(>*KTG$6(!52)$#F=/'I[F]O4;84%="6 V(OKMF+W VRW:GN#;>3I?8!8 M1U+0B.IO];9"Q-,*WM_7I*NXE=I/5W*[EX;11VL/J:TG=YO/>G%21&5$)0F, M,<(0L2B +%0IE JEQ#@$)I%P(8T3?N.(6F'4-< MB='(O-!*UYA3;T EH#\VZ-'>$P>;*%\6#H8W*?Z-C M-RA__GYL5OA*UZ+ZSR?=JR:?]_J;>*>_DGJOMT@Q"6C,%$3(.&-QF4!&,@DE MC](4QT(R)(=9-?T).3N>,9("(ZKC 6+4D70UA3[/^(QMM7 8FBOLH?ZQ\VXV M]2CB,UE7_8-\W@@[0E_#2/ZM+$LI[Q[E6LNRNG^KC^?R@S0-M_\RGEJ+& "5=ZS;OQK";(=H_J';F2. MK 76V[]69%!)>0-V4M>_J!PW_;&G&TZ>^-"RTTD9S@V(IYSE^+8;"U4>H:^: MNZ2;5[F)5\6YM;ID_RV^5E+]X]%@DE(@H1!KE(%40])NT^H!GY&IST@( M]B*"WXV0H)+2XY'^ @Z>=J'G>IETVWE!U:?[S$N/#[RI>'BD^=HL!'?JC5X- M5O>Y_O)O]99V4[[ZQI=;DUSAEZ(07_/EL\9*^%VA^'2^]RX8B\\*)2YXVC$!]3([WC%X30,EI22,$RXC&7&GVQ:; M7N=&9#NAS7SKBOU_@5IP\'LKNNN]BM4@6%Z4^(9V9!KS@JK[E8@+2K[N.*SZ MG/;2P@6&HUL(IY<'&/3>;8V+VIVJF>^6ZX;U66X1IE$41_J01;*(0H12 @DE M% J6IED09U)EH;7%Z70?9DFGC7@.5I0S&%I8F:Y'9F3FJ 4TM-' <^L- M'@<;T_4P361BG,J],9F/IE/[ O77AT ,V]SE?Y1KXU#E_[ MW5[K.?_=>-KQC12W#\5ZD_^K^DC^+NGZ;B47*!)8L(!!A$D$4<8E9#)4, M" M)CEBC"?<]69CL#0SO?LPTH'(@1*&#X<%J8Z+[C2\6^L *R6ZY\Z=&C>@501T M-;D!U5AH9289#0<.GV14)J+Y$4?';3VX&M3>)6-XZ].M*E+D YT+H7P":B[6' N3'R M13QZ&??\V],QZD4-#ACS\M,#;:;RWGP1'^2CX=K5_J:CN;%B(R?8"3K<$GH.6DOCIP? QK9W#L'*W;YY M 0A?)LUSW4QKQ;R@[)'A\M+S@]-5%-O5IFS<(MK4"G'(4IH$A@6D@BA$0F^4 M @$Y(2'1/V0<6YDK^[N9&R6T4H+'(4XB9Z"T(X'K 1J9 G;8-!*.DY^B!P-_ MR2E.=3)U9HH>14^DI>A[>J!O6%Z:'%_Y:BM%X]]1'/O.I!=R MSS>M^[Z7=^KNZTJ*_Z?(5YN_ZE]MUW*1 M95$BLB"&DI)0KXX9AHPF&$K.4A*JD(O RK9XN:NY'1",@.O/9?ZX3Y"3K_2\ ME.NSN[8F^QW'E#=.1%;"\GN%.@ MDA14HH)&5F^@N50,\@7>5!6"+H'X9U\%@6R Z2\ U-O"A 5_;#0Y+/!C]<:0 M./$GQ8+:E*(!(C&B""8)51#IDP@D-(Q@AEF:)E'$=L?+,7JY%XG^X.73KTX8 MN]PK^V'H*VOSJV]Z"Y>7 MYJ:M]II?1)*A6,8QY$I$$,6F3EK *$QB@5F4J" +G=)_>9=P;C35$1#\6!I5 M2D=.\C^(=DSVK$,S,O]UZ]MTM>L6N0'L.SA9!\?H:)*855H:0^-.SQM0:SIA MYL>A@S!5VD=G^>:5\W$HO,X)'P=W-.#\?"J3V\Y2^JGX6;ZGN;A5FAZ-1?2U MGG6+,,8DU/M+J#C+($I2!8WS$R1I&$:<"(E19'VV=N]_;JS^Z;-<2VHD=#A0 M#H#=XC ^+I@C\_#9C)"=BYQ- 9@$1HL;4$%>Q[D83<8%W^&D/^X@3&0%&&LP MW$P%PZ'L-2,,:'8Z$\-PG0_,#U' M$<#[+5OF_+=-M9FY_9:7"Q(3GB:F9B3%IH:L$) E20A%($.:ABJ)J5-'3>B?MZ7>&Y3EB^*!Y:O&(X\7]ZO\7U*\$2;WL\KI+F]BFZCG=M4M2JO_ MIH_&XG5N@H1SNNS\:9%)CDB0,4@)"R'**(5$9@CR(,THTQN#+'+BA[$%GAO= M_+92]$NQKJXNS.VJ"3, R[TM8"6KE'_-U@-4L9BV'BB3?01V]#:GH1V9+5M5 M04=7XQ;=:@NZZC[--%9=%G?T HW.-V"G=??/_DAXJ@'RQ.FCBSOI$C$5^$]7 MG,GZ?9[;];_*;\KW2YE0NB M2)P$)(!I$@F]LI$48IQ2J&(4;>?Y*/X0_D']#YIEYUOJF_5M]4!Y4A']CD_@17 M#^Y,_ Z&Z_&'\D^X>KA\^S%<+]!D^5D_?2T6!&<1YB2#.-'_08(Q$]&L_QFH MA"4A#3,:M!'-%HX/@P6QHL;#\.615\KJVC<>/0^H&00+)XAQ@9U[='(U%EJ9 M249C]*RLCJ,R^XCCBZ,S15;6#J@C9&4UK<\YBO@) AZRLG9;&UAO61]M[U1= MV^XUY55O^SM\B1A-B4F@(12'B,(!QY';D*/??BRC:H^*JIW-O7M*64;=0^JJ!L]=+ M^G8KOC;^7B]E_?]O5B\:D_W?\LWG%]MR4SS(]8[7%IB%5&$5:H(QY0<"(2'A M,89I$@0\)A'-A%.F4\?^YT8Y3STJ'*O:.8)O1S@C0CHR!;62@Q];V?]D,CZT MXH.O6G[0*M#Q+_58W6X8=K[JVSGV/FV%NV'0'-6X&]C,@/-[FRGDY7T=8-M$ M8G/-413+%,8H2R&2>J-$:)3"B!)*&(^#D%B5[NWI8VXTU 0>>'1H2?$W4UEXT*W2V^J",5!G&$-6T+U[@UQ2-,L@RP681ID#$LWM]?S M7Q#T =;HI\"=D#O'UU$RP5Y&P]OI[VQ'$Q_] M+BE\?.Z[^,:P;'.J6#^8XAAW;)G?/_&/*+[(]3OY;?/I:V$,5F63C6G!(L:Y MY SB6"*($A) _2TIJ$^ F8Q4Q-/$*GGU%3+,C5,Z6H!BIT9[%#SP!&!2_WKG M*F7T YO/$JRTDB!"X$%O@3^70Q/8#1E.BWW;^(,T,I=UQV>O0==GK1H(HX0Q MM%<6=\UZC2+CCX%;HKR1QV*Z#'ICC(ES=KTKT+R4=F](TY/FX[M"]Z>)^JYI M:JC!LJ+VJI#+JV7^T#CX-:L)M=(OC&<@\'FB=,/%F2>SK:V*[H87:QU9" MFY>N"R"I_'[+W+2[NTU9I%C(..4!E*E*(,)1"EF(8\@S(J*0ASQ3?$CPQZG. MYL8?.Q?_CK!77)[VXFQ'([[0&YE%A@,W.*"A#Q'/P0@GNWJ60((^I<\% ?2^ M,XQ 7M-\73D7-O$#!W$#OTI:;M=2W)F=D#ZU&]?$E7A7K-;M/W^F95Y^,O$' M"Q7+)(V1WJDD<021B+G>KC .8QFE,2.)2%*G[8HWR>9&34:QVJ>YBCFJQ:U\ MH[OR@]\KX1UYRM]PVI':LPS2R SH:7RY(+6%W>9.>00PQ[YE[L6QH49@) >5Z$YWS]9?M,-M M] @03W4_/>R3=;RB=L2G_]+:MK$)K[$=]3N\V'9]>=A._!5=K_2R8$R+5?C0 MRWRYW4BQ"-(D(CR@$*M F4JK&=3']P@JSD,-?I1ETBG0]4P_>GQ@T#W_+,5V*>_4^W6AO_S- M]_=ZT#M#!Z\Z]_;MZ@WC"+DN;=#RQ#N]74W*-39*/^47JW?FFG'H;S*__VR>^2+7 M]%XV92?D^W7.Y8+'+$!I(DR>(0(1Y?HT%B$)(X'C*&1A0K-L7FF'^M29&R_V MY!X"/UYSSGOFK\9R$_B'^19&IOOG23W4@@,:=-JJ1A)4^/R1$A#9C/,?)@M1 MKS+_FZ4BLAFXZ?,164DUX/*J+N-4J(]TJ=E#=4N'FONRRNZZ0#(E*C('@X!C MB%# (&:A/C;P-!5Q0%.6VE]>4;T)%7ECV6'ULL#PK_&BQO1\'2X;;*-Z83W51YP-;MULH%I]X;*ZN& MIKNM;VP1SV%BE"680"#L,J(!.) M"&+$(L@18YR+-,;4*5_/^:[FQM"'DIH/7VA9;P"MI'6\D3H/L.6EE!?8QKZ7 M.D+L9878;3]B[E=3%\'P=3MUOJ-I+Z@N*GQT1W7YC2M=2]^L'O5>\JW\(I=Q M$WF!6$)%)BD4. LA2@($::PRS14X#J. "L& M$!J9%[J^E[6@QM.E FR$*!8+3'S[4)[HZ7F\(L^K?-;/L>>5Y['E=HZH35EO MD<6IP)I72( 91)E"D*A8[T94@#(B HK2:/$HUWDA/F[H>C.-D?9(3I<9]U3: M\2;?S_(^7QE_A6>JTGX\G'&,92;UNL D)WJ9H $D.)(0!5F >,"C1/%F.%^M M+F0?GM%@MK*.N+^JY)O-.$YC_[YJ9/Y )NT#JW6MZ7R,TV<'82;VYF/Y_E F MY+/P^K8*G^]H@*&W38OW02Y-7O9]DN%RG\Y)I@E3"8=))$VT>Z8@PT+J_S!) M18HQQ_:9["[W-[=302LQ7-LVX%LU,9\2UU^G A.OPV@ >;J+2S%=3'>;^=OOB16-%2*(@ MC'&6Z?.2""!B00(911A&C&(:2IF@U,IZ>Z&?N?%N1]+:X' #C+ .%-&#J06_ M^D%J9%X] ]*0S*(]:#D0J1_4)B)0UT_,C3LO0]'+F3VO3\>5EW4XX$B+QT>R M1Y47-LV_Z"0F&&Q4#T&/8^_)'/(\(SH#0TEI:RFI$3!Y]VL,YN3DYW_TIK*P M>)1\7K87_T/B;)49083GN9OI%;3ZXTM]P-G=+2T2%4D4LQ#2#"F(5((@,?DI M,LP5SHP%*';R'IE8_KFMB3N>HPW/W1N1@3"5596Y9/UBI*[BIT6Q7-)U^6R^ M]:Y?RC27"2.._PQ64(\+:/4(,&" _>W]?.XC!H[C3&XK7*6?UWHZSM#XOND8 M*L:P=?6=U(=6D];"Q"@NE(PD"2,!:1@SB&240HJ1A#RE-,,QRB2GBTVQH4N[ M5>^@=:,1D4GJ85!Z ;C;KG&TW59:@30$^F3S+NT7-N6O<\.30C92=3<9,^S?QB7849=KK3 M?]L^2*%Y92$9RQ(<$AA5U9XSA""+20*1R$)IXOP2857.ZPH9YKC"YT(/1Z[R M:GVG32[ 1@_7I(KN@V)Q@3D^U"/33"5P-]OY31.E!EHEGB9?!(T>-^"=;3I+IWO3$*3,'ZWZ<0'-X4T,"RXO5/[=T MJ7E3MJ?\QLD@H@GF29K!$ NACX@IA510O>J$,<)I(F/!8OMH\G/=S&XEZ0C: M&O=< IS/PFFQ0'@!:>SSX@E\AGBWG ?*)?S;!V!3Q7R[?%B.T=V78.@/Z3[[ M]H1QW)OOCTD *9Y]+[:8+]6:IB+=]OV3+GOVW: X#Q/]QRT_W?BO4_ MWJQT"_?ZBRD7L8J",,4(!HD^F".)!&2FZ'@F*>.:1V6U(WVI6 M)[%JU:JR^]T 5JD&],=3MMJ8NY7'1A>7,HW^!M:"PY]GN$8F_:<)3&^["4RK M;>0-J)4#M79@I]X-Z"@(C(;@S0J\?]9A=*G ^2S#.555SN'#.FQ4'>MU>L>^ MOX:GO^XFK.OI':/#6I_^F[\R0\++O.3+PCBU[N-*,LD%#Q2%::8RB$SR*R;2 M!$I),4F5"GD<#DJ1<**SN9U7]HX$H".M&%A 64N6K?"/?YE^ZT4*UB>57^K^*]8LE+1Q&)J[.$+SU-P0#ZAH/!M%; MM6-W"2:N@3P8HN/*R,.;&D:8OU+^.5_)]??NMJ\QT:DL08AD,115:F\A(DBS M,(&_J:&P'N1#VT6KA16Q^V=A3F";&1J>H0K$[)$^_YJ2SP M\,0Z?3U-RBX6*C]E$9M7!OHH557>[O1AD9H<>6\E+66Y+T 8H#05S'@:4B(A MXAF")$@I3"A-<$@91\8B:D\8_=W-C3-J\1P=E?H!M6,)?S"-3!2UH,:;OA$5 MU+*"WVTJ8[I[-%GAXLN[J;^S:3V=K!0_\GJR>VOHP>QP*_/+NBC+5]_XIC*,(QYD'+F=Q6RZG1N3=+;Z M+GG,';&V/47Y1G#T@]/1.:F2&?RXDQJT8GMT@W;#R=O9R*K3B8]#+D ,D5P7Q=K)?.-,6*U(3,+$J8*2Q4?2CS>C:\D;#S=5BVVR&SCE MPHYIKOOGA#5@XOP*?N].DI,M_^Q$]QH+#V;[[M;W"@E*D.! M@"*1^B059QA2RO1/#(2^IDB['L>&YGJ;=O;G]^\_;-IS>O/H+;=R_! MQT]W+_[?_[I[^_+5AX__YW_#49C]W^#5__CMS:>_#PXQZQ\(2QO."/".;<'O1G!02>[JY6,S M G;TY!O7D:G)!Z3N_C\.&/GR [+I-RW.*-M:JJ&WY3E5HJ7VW6^NJ\/ M==6AL*S^V)P$V\R#8H%CQ07B$L:")WJ+HS<[-%$,2J0$H6F*!98.MN#ADLS4 MNKN3;VAQ'O ?_PC_\7+>M?IYM9Y=C[)/EG,38'KV&P30258*+-VY,()@*!*8QD&)H"=B&D+(A@ MA*-8J5BA)!F>!F683'/;O^VEK0(I=^)>D8ECX&!9W'U-/P0C,^V)S!P'$H.. M4G689#-6!T]=3N@TVJ!=D4YE_,%[OO0JHPSB=>E6KH/;*?W*P*Z>+QW+==CT MIF>YLNF!)PW^68KM4MZI5W1M:I"6>K5N+Y]R?KL2+_/EUNS1S9%S[S**TXP& M7!J'$U.V*(LCR!BB,(XH2J5>-#ERBF8:*,?Z0)&<1*^$D]? MAY"!4DQ[$KD.JJ/CR)7-#>/5%T6YN5/&D;"Z_9+K+SG7IY]B*18T2GA(90PC MA2,38"XA1IS!B* P9BD/).(NU'F^J[FQ8Y-V56RPD_9P^*-803Q?EUP*47Y6@OY MD1IZTK\1)MG%E^8R:A'0(,UP8-Q[,8%($02Q3#@,%%%1F 59%CA%*5SNRKAX\IZ=R8;5?^[M%(MZ\!U93^,==40^M#C3_J%O;7N8SE)/=??CS*VX'O M%'VR+)(X\?!/&&?@ZS/X P88#/\@7XXP03V.#H-8K JL,K M$^Q5=:++M_*+7(9-2A*<)225*H )D0RB2*004_V?.$DI091G861UTVK1U]P6 M_4HV$ Y,HG<"2[N#BR>$1EY*]RGT;NIR[9H#&\!&2/%B@8GO)'HG>GJ>''KG M53Z;0J_GE8'F#[K1=+3+TIYD6)$TA@D+I3E&($AE1/590@DNPB#@2CA9.KJM MSXT%&N$%D:+(:B,+9MHI9KA%E]4F-?]H:#MJUY_B[I.O7^O-8"#U]61HP&.(D-,[M 602 MQ9"+. Z4(#@(4.N$:F$0&"Z)U==^Z(0Z\JPWDH'$X0AWQ3!8G,]'AO9YXV]V M>I@C4ZT)Z*IR ZK1,-I,,R .)^9I!F:B\_"8 ^1VRKT>UMXS[!7-3W="O1Z# M@_.GA^:&[1U_V=+JZ"KOV#*_KZ/@?Z7?\H?M@^ZU2O2\X"2.0QX$,!#2%#,T ML9\1CR!&) TX%S@)L,N.TJ+/N>TS=R+O"IQ^=]MSVN!LMQ/UC-[(RTHC;;$& M'7%-&N1*8-!*? -^6XF\Y,5VU>>\Y;R)=0#+T];6IL=)-[P.$#S=!KN\.I!^ MVLQV..0L(0QK9I$8XN^B MWNY3>YS\?,^3@>]2CKTKL^AU;L=/5XW9N[0F$4ICQA#,$J&/G8BFD#"JUW[% M%8!N98IP1&Q#O;(&$M]#FOKXFCF*V4/LX8-GFI:$)R?G:9#A_*>O_?[.Z MY7R]E=W:VXM 4I%&F$,IL@RB$$N(C=\O"CE*) N%%$X'"9M.YT8BC81 ?C.N M#$VNMV+S6:X!KR/==F:,W#5LP&H0[!C&-[0C$TTK+OBQ%?A/QJ&H!?NM!:(# M4I3;0^0M0;E%EQ.G)[<'X3@YN<.[0XI3R[4JU@\FB>C>2/+!9&=:Y?^2HO@B MU^_TKNG35[G\(G\M5IO/)F2*FR!N&F6(JXA"%:$$HM@4Q\PH@B@(,ZQ_H$ED M57KE2CGF1EX=34"Q4P6LY1>YVE:)FI@TX0N-9F8*JGQ=;D 8@8=*,?#C8ZV: MBY/O%0-I<44XS?",?9CKC,Q>"[!7 Q@]@%$$U)J 6I4;T"@SS7BX5)&>9%RF MJAH]WO@XUH>^&M7^>M##FY^P_O/5&!S6>[Z^N8%G]:&>L>^VQGGF3M6YBFZ_ MT'QIK#VOBW7E++L(>8HX$1RB+-/'?+U=AR14$@H>!QF)L\@UZ\%(@LYM?:S% MK8)^*X'U6FB*2IH:.;25W93< &IKLIB#O"RWYK-QM"",->R6QH<9#.;(JZF' M=&_[3Z%6%]P>? "5QA[-("./B2\+REAB3FM\&1GL([O-V/U=4[WR;7V"*_DZ MK\(MJFN#11"%2 29240>FN"')()8!03*2$HNLB21PBGXH:>ON:T!;57&2M@; MT!&WN5-QM!?WP6Q'V)[ &YESK\!M8"G+7D2\UK$\W=,S%+'L5?ET!;T5JFB,EGE]"\+2E.$X0I ',8:(4@)I*!/(<( 1Y3QCTBE.XD)_ M M&T8C3S,+OBS,:6L189*@+ X@R; ^O6:)_@DSS1X*4Z682./(*EE#?S=S(XVC MG)O@]UI01]HX ZH=6UP/U<@D,0 E9YKH!\$3.YSI9%)2Z%?T*1=<>'IB$U@W M.'Q73:XJC[M(B3ZB!+$)Y\HB?7A1(624IC ($HE8&NO#BUOI$O\RSHU\=LE< MAM4<&&$01[9E^1F:^9NQ#M-TE-TL'96V,S!A71Z*Y[9>]4CXQS!<78;8F\W* MHBNWE4+(?/%JM,SO$2&KD4$E8R@%=*.IL\AV$^Q'G 9F1[=(+$FM N*GR"C4O(_ MWQ=??M)OUCRD?]C3S[GV)J&."\JTT_[28]YK7G;#+5_5KG2[*&29B"B1C,(@ M2CE$(B(0QUC_1+D(D4P2QIR),3<"< G,OW( +"U+H\,Z,G_TEL6<(N+; M#Y+C%\_L$V(NY30M@'(HL&G3FOLVYJW^$I;O/Q41%'*0OU3&!#;/[W8@W&)\[ MX*%&],-E1/T$/)R!:,R AZ==/G_ PQD0K (>SKU[Y% E.:A3#A*=8')))!BG$"1180$811%"1.[ITVG\;_>$Y=AGH($P#K][M\#%]P5\7Y?/^PQQFX[9V$P,YU[_2K M X*S:^?BN\>JZ-GJOO(R_OC/+5W+UU)N%HI3'H8\@SQ"RJ2Z(I 0GD#"41(S M'$FNK(XH%GW-C5YJR8#2HIGPH:61UB$X]P*P_73B&:ZQ#:%-R,!.U#9XH('0 MB.L/.8?097\(3A2>?!62;@'(=MCT!AE?:&*Z0&([70Z"A2U?&;:!.VQVEZ/X MG5:ESBVS"#@-6$!-VBX361$Q"0E#$:2,,RQ13"ARBJRXV./.ET N))ZVC+ O4"-5@OX=*_/7!"X%XK+58'[7Q]& M4R\EV[Q9E9MUM9M^IS^HYE8FQE$:8GK M4D=S(R(C)]@+JA=M_?# ZZ^SX-J1C@_(1F:9@6@YT\HE*#SQR-EN)B6.2\H^ M98J+SP_)$5B''GR2ZX=B]:)8;=:4;[9TN?S^4NII^)"OI/@U7\IR4ZQDN4BC MU"1"BJ TY;X0PQR2)$PAH3$/4L$RD=K7 7?K>VX$T@8*&4F!WK_PK@) [#0 M#SL57%+,N8V+A55K/+3'WN$T0']J@#Z0'>R%![]. +1+_K[1 )\J9Y]'X!V3 M] V"KC\QGUN3$R;C&Z3K80*^84T,VTE^6E,A'^CZ'VV14D8PI2%*82(XTR=; MFD :(U,H1\E ZI.M"IVR6C_M8&[$OY?/;9=X!)S=[O :.$9FYKUH(]1X/:>W MIRW@4?.3;OW.*?=TRW?VN8'&*A.54:QN-[O+S1->4;M:S5$4A"F"J5 $HE"& M$(M8093R-"(T4BSF3@8K^[[G-N,;T0'=@'/^?I<^_ZN'P])^-0[(8^_PKL?7 MW8#ECI0O(Y9#S],:LMPA.3)F#6AB8/9%O:FY4R_64N2Z,UX9]9OF73R+KQT3>4%M M9-X9"IA[OL5+8/C*MGBVGVES+5Y2]RC3XL47!NYWZH-1^;I8F^N_?'7_HB@W MY8OBX2$O2Y-GXW8E/LD576W>/#RNBR_5:E,NDC@)(D0"R*(LABA1$21AR/0) M)TY"F8@T3)PRJ V48W8$4T5559KL1@=0 M*7$#.FK<5(63:DU 5Q6/6Z3KL/2U71HHQ;1;I^N@.MI&7=G<-0FMSSA,_$HW MVW5+R_NZH &5*%,"01S@Q!A_]"DQ$PPBK'B&XR2))75/=.TDP]Q8\G5=V^#7 M?%65$:])LQJZ3?\$]38HECNT<:$>>^]VSF.SXX=5UV-Z3W-AJKK7"HU:V/4* M2+WFVW:3X!GR< ^"Z'1^[F%-#6/(O\G\_O-&BMLONL_[)G?"RWRYU;^KBPS< M;3?E1J_,6IY;\;^V937E%UD4.=&BT-'PHX:)\!W9'IL-0"-"L?U6#H:W(!&MQNP5\8?*UZ) MIB=F'"K%I.QX)51/&?+:YGQE@]EQ=),=BI75%>6"$Y0A2BDDQDJ'F#YQDRA! M4+&(L$@@3%!\74'<,SW/C0E??#9Y0:OTLL5N0U.[PU;G/(\E<<^-A1TSCH+P MR%QX)E?,?N=82PY^;V7WN"-TQFNTQ#'G^GWF[#$7X+B<0N92 WY**SP]]N(8 M2QQPR),TKE.D8Q8%,$1IPN,@2/4?KRFQ,.\3[E$1@>LJ+ PZO?I#;&3V.5%Q M8<03J!TL(]5@>,YSI9WBEVHR>#DMUCY9[]^_+>CJ_;JX7].'YA(?41(0%J

M?X*(H^O(>6A)(!2E+*0P%#R'*"(8L""*8<-QO6Y8>' MG8+JLD;RHV;Z;5TTD4HA@P01R'EFG*M"KG

1<==3#W*9[ M(R"H)1R4Y>H81;LCSE78C#R_W6!Q/L:<5=W3R>6X_4D/*V?5>WH^.?_@T"M^ M6DKC2_#DS*VR("#Z/ +35!"(A$@AS:32R[E0E$59IO_H=HU_LI^Y3>Z/V\?' M9>4[09?@S4H5ZX>Z0-@'N31)P,T-__%>58_OOOL?]W5S\V;U1<^.8IW+4F_W$X:HB&' A-[N!UCS M0R0HE$DD&">88D*\)/#O=&KUT4^?N;^5\/NUMS%=?(?>P+C"]:RW+AUAQ[QE M.8'):#^3;EA-J7;U!.O33 XOFT!E G?N?-ZG&[66BN2$/-$:8N=:PW M&0&#A,@0\D@H(@.9"&FUR;#J;6Y;C:?ULEF;+5%I]?P>K&1Z8RPMOH<&&2M7QJV:VLC_O^6;SZ_ MV):;XD&NJX[>RI4_HYBS[G MQL"_K5B^7.I#W5KJ]6[K6&K)!F2[#9QGZ$9FWE9:\%6+"UIY;]HBCU3IH0.W MRV7QE>K94P6M-.%T;XO2A*SX3H3I )^G'9]-CY/N^QP@>+K[F8I':5)]O.]2R4BG%$]9XPYJ9@+1>0ABB$ M$:-)F*0LYDGD0D[N(LR-JU[_0)N M7WQZ\]&.E!*SY@W\&/1@-]6/T3V"D! M]EJ,XB6KZJ-_0?)B_M5_B_= MJ]!\FZN<[@OG&E\DO7[>KL3;O<^O_IL^%XC7NH$5S^FR\Z=V[T$%$2JF!/(L M"B!*PP 2006,@UAQGG(4I%8<.J70>W<[W^?@.L$WNI=>2YTU .-ZC=@IWSWSY'/1@'051)TM#2GT>YS;4K>2E63_&!3YX*IU37WJ[7" M-YU$>OX.J6,/BJ>C[&AB3GK@'1OLI\?BT?L;&(AGNOBDWZT<)T.$PX@I#(F, M,H@2QB&-TA!F$MSXW%*^& D6Z0V^DA]IXN%-J'86_G7QHX$35>U%A4@OD7^1'R4WR%;W!?/6-+[=" M;SZU@(97MO4Y[DZ]HNM5OKHO-5U4M%+785]$/!(<$0ZC*"$0,9Y"G*093),@ MXXG*J$S= FM]2#4[8M!*P58K4-;Y/+8K/5;+[\9677;SJH!BG^+!D4"\C*@E M\4P]3F,35DJN5V<35V[X;4&OFD>Y\ NV+)KW(-"V] M^H3QB):]-CXP=:K^G#N5K!)*&)%8P21+]$E<*0&Q$BED3-" 9W&6"*>3^&'S M@&='@<,A&9G+'-!PSS%Z4FE?J4,/&Y\V(^A)Q8X2?9Y^RFW* M"IDO7C96\O^QI>N-V0=\D(_%>K.(>1KCC#"(9(HATI,84G-TRFB:130@A'.K M*@X]?E); '!B9I>2__F^^/*3 M?KN>U/J'_5SN:W.2"6VA5#NK;1X=&IBCVY+EYM4W8YF1"QS'4L5!"E&%(IST(W55_LUE$#68KK&X!Q":;-8F=./#9O$.YMHQ_^[W/WROW*YUDU^ M_MYL&FDJ,\F%@#)@F5Z^!==3/$L@)HFB(N9Q2$*7';=3[W-;TSME@7:25I?N M[V[_.G"/[C8:=BPQ&L8C<\AU\#H3RR"8/-&.6]^3DM(@6)Y2UK!&!J8'T4V4 MQLU?EG>K5]^,\^0V+S^;+N^4J5:\H%0H%4D$9<)"B!(10!(F#"J]40EDELF( M.>45N-CCW(C+"&QJI\H#68VQ3VAI'?.(7(0[102'05BEI90:;I1 AE0&6RC8;U?UIH,%PD2(E$1A0@3S4AAB"'%$898A#0D M6 M[?'[I1<_]_LO*UA\W8?U=S;M_9B5XD?W979O/8\;>Z>6RI/"*Q^D.6U79?SJ MA7]+E_H ]!#I;1,C.$I-W1/.](D-4TA2@2$*6,IQJG#&G:Q\SZ##W)COJ/31 M3G+P-E>.MP7/\4W8$>K,1WIDEO;I/']0":OGZ^G 0P>\W&LOV(L9^)S/T2# M/Y0[_A5#Y-M3_QI1AJVL'TPO=^JWLCX!W+&-[L8<#%Y]XU7EJ]?%^DP=QX72 MFW4N108Q40%$<20@YGH;+V(E48SBF&9.*^05LLQMI:M4@86"VU*VU<**1A\3 M"R0;C:JL//NZ8LLJ+>/@DF+7#*;=TC;1$(V\1.U&1^M1&RK 76=P7G4'YTD5 MVWT16W]KC =0/:T5UT@R*>=[@.PI=_MH\AHK[MN3!IF'8KW)_U4M(XVK0[T2 MZ-;OU.N\Y'3Y=TG7"WTR81FB"":2A"*R\"3W*-#=. M-C*!<(A=][JA<3'[3@;XO8"X6G+M)^FAU9AZ"E<_IO>F)?<1'!(H1<%_6@32$5$Q *")(Q9 M*HQ1FT)J=L,I$RF*@@Q3Q-QJ- R08FYT:Y3X"\A--$RUK:K]]5RK-0P9#CO" M'1WDD2FVEO_FZ0;U9K]#O0%=-4"MA_>PM:MP]%8G8H@,$U>1N *FXQH3US3F M+Y?Q>[FN*K-H!.[8,K^OZ/FC_F^I\BKCP%I^R8MM66<>6*2:%6.9(!B9VSXD M2 QQAF*8L%AR%$0\"M6UJ8[=1)H;:7ZH$R"#)A_RYG->@L=*4OTSW8#/5 F MY0JL]^FO](GUL5&J>=;1;.!A9.TH=]KQ&IE_SZ5?[B@$]AJ!G4I5*IAVO&JM MQDW!/ SA$3,T.PKT[ FETC8%(";&GIZGI1T*[G MJ(D';V1"NWTR+KNM65LL\M@O]4E:V!N@-9IN M[HHX-EGX8QAG<19A$2MBEX7_5.-S6\=J^8 1$-02VB?8. *N?R&Y%HZ15P8' M))QR:9Q3>5 2C:/&)LN><4Z-;MJ,L\\,O&$I3,[LE3%;RA77\[PJD[M(J!0) M23'$28PA"DD,*=$35<5KN5&!D154PH*= MM%6CFB_T)CJ)N7]RCFJ2O3D=:[!)4IP8,T@ER)$"*,.61I MHB!/$I:0F,1)Z!;HY%6\N?%TJYTQ77A*)3QLS^?Y*[#;*S[?V(Z\HCS'L+H' M(XV"OJ\X([_"31M"- JP1]%!X_0R;!%Y6NG\9>,S](%N9+/U44&0!5FF=]\T M,(E#*(4TX2F,6WQLM=SHWL.Q*#2N0;T H-C-1NC&T!N1T+^P5R M9&:]A.'E+;LS3]KCXXG[+#J&<_N[FQC=]OKQ.54PMT;:C&W\8CDPUU\#G3#)V MJ'@BF N=34HN=HH_)1;+MP98%.MK";U+>GA<%M^EW&4Q6A"6Q4Q2 9%BFDPB MAB$+<0P#9BX!!1[F1N)[ 0$]%+R+1-6$1$893!*!2:' 4U:2$EA5IG'J4XBP1UBABVZG5N7-D* M#2S MZ,>OY".S#T>T/17I><(H+$K]>P[G$>UGB, K"OV'+_I M/:^U28(19"'%D3[+81E++*.*F^(.F;"'YT79W?_3\K/YGR'\+W1I M3KL?9+E9YR8EN_F#7@P.?]%YO/C)3[V>TY)837!23_ C><:]B $0T+W0!VDW_97O.3,^5V_R MKX%['AO_C@8'!7JF*C];81]<:J(\U4+60-^!-/U)#@J+ZA@$U DWX ML^/"@3",S'\U N_[$7#FNQ.Z>N*X;LN3\MH)E9YRV:E'AB3@E?=Y^6HEU_?? M/\KUEYS+\NW;%TVHO@0ES[UKH<9AZU^:%@:&JE=WL-V0$2E M449#F"#"C15+09(I#G&0&@=NEH1)Z+(-/-O3W#:%K='8B HJ6<%>6,?@U+/H MVFV!O& V-G<.@LL]'/42%+XB4<_V,VT0ZB5UC^)/+[XP,#6W7.J_WO\B-?W0 MY>U*W(J'?)67&V.E^B*;RO4+EB4,2X1AC(4^-,H 099E 40J5CS$!,=)[,(6 M=MW.C3HJ#SU0[(RTLA;3,:3=$G(["O$/Y,A\T@A\ QJ1*Q^(0Z%!([7'/-1. M*/G*+VW7Z;1YHYV .,H'[?;V,$9JDXM5-K"[1[.I;?;6F41!A$4$@UCJLYZ4 MFH14&D(48130&.O_=[IX.]O3W,YZ=,%H9$II901=G$9( MY741"T_$<;Z?2;GBHKI/Z>'R"U+__.#Y8?!S#>7W2,?*]6$PC_/.L0),.S-EE;5HIKC#X=4*T MZUI)(M6[Y2CAD)(P@0CIDSN)TP#&3!#%>,STOYQ2TIWJ96XK3YW1M2/EL+)5 MIQ%U,/!=@],4QCTGB(89]LY!X-.H=]3'] :]-.:=?=AMXI?KS>)7^BU_ MV#ZT5U LD)0A!C&*39:$&$.610(JPC%&(:,1MO)7.&IY;A.\$-;\\G_>HBC"@QZ7^A2H2 " L% M211)& &X.WL@$CG'TJX .L^AGU&@1&)D [Y9WR_I[2 M=%#&WX.&)LOU>TK\;I;?DW\?Z"=?%.)KOERV=8U>;M?YZKZVTRSBA,0IPPBF M(N"U$851)F"(24AX$,F,$B<_\)[.YC8E6UD=G<+[X+3;\_@":>19VXJYRUPI M0"UI8[SVZ$IN 8@OW_*^KJ9U-K=0^LC[W.:= >[HK[;KHLPW\GWQ5:[?K'A; MG2PFB&'UB6Y%6)MXQN:^H4@- MJ&72@\05)4U.M3IQ99,>Q8X+G/0]// 66;'5^E%SOG#:Y+-_I46_R MT$>41[$@(4Q13"!*< :)DC$D 981B9,@E4X^4IX%O@!%Y8/;_ MBZ#;G9A\0CDR55R)HOM=M"4TOJZE+W4W[0VUI?)'E]6V[PTX2^G3F"K6#U0K M<,>6^7VUR]P;3O-5DPQ%/\>K4JPH4?HL%4.54011( 6D*@Y-M*_,8LIBI*RN MMH=T/C<*ZH@/BIW\;:W6)EW0_LH+%%_TQMID_RRWK)3_W!H;8QB!AV*U^5R" M'Q]K+?_D<#YQ'3V+D]V(8S(REW6'8R]ZYT(*Y*M=WJ;*IY'W%8.]'FV'8^*( MJ$]T?O2,OML1OVSNN'S]_WS_2>(94=_!-6-S==E-NZ$ISQ_W?9'[_V5S1ZQT/O9>O MOFD6R4OY?IUS^:%8+C7UF!<7@8A2(KF 8.1'! MY"K,C6Q:L4$C-V@%!Y7DX'<;25]KQO0*3+LN/=L ':U] MSR>)OYJNW_)R@3E#&>(4IE@%$'$L(2&"PTAF44@C/?]1=FTE5]W/W%:J4V5' M-:=H23W4;#6XVJT='M :F>"' .6E)FL'AA$KL9I>GKW^:D=5FZJKW<>'&%W7 MA=CR3?E1WAM6:KP*6(9YS,($LHQ&$(5(0)RF"90444:35.FMLKUI]507?"_&F]M27+^J:(?D7 MV9@3]2;K[NM*,\SG_/%6::JY72X_Z8U;J4\39F^V(%$4J"0-8(89@XCA4.^) M0@E5*)#*LEBRR"JI[&@2SHU*=\*"?*7[TTJY7BB--YB6A_CG'**QS^@[W?2\ M K5VH%8/M/K=@+V&8*\BV(\L-4H"K27HJNGQ\#W6"/@Z6WN7;]JC\UCP'IV, M1^MHX/+ /TNQ7GP8%;Q9\>)! M?MS0375GT5ZI+23G&4\8ATH%*40""[W_2104*4^BF"<(!TXN,F?ZF1L5U&*" MG9PVEXQ.N-IQ@0>T1N:"(4 YD\$%&#R1P;E>)B6#"ZH^)8-+CP\F@[59"U_* M^O_?K%X4JZKAO^6;SR^VY49WNJXV)(LH8IR&^EBD(DT+52 8BT(.B4@DH6%, MI(S:HN#6%&';N]5$."P$/C)Q_+;2O+S4._7&^]J9+:R!MV80KV!.QBJ5M.#' M5NX_&;?=5G3P5RU5EP?I\S]Z9VZY7R]K8Y6E8%ZD=* 2B083) ,((I3"@D7%&9A M&"&51#R.N?6%IWO_<]O[-.+M#?BJ$=[A!G# *%C^EO0"O_ M#>AH8"P^[0"T2HR+N\.U[+CX3W1G.\(XN-WN#D>Q]^IW0+/3W0L/U_G@TOB* M9OPDT7Z;K^0;O=.UVMUY &YGW!^)U=7KM(RQ&2K&][^=9TVP?J7LIU?;Q M"]>YT[XH'EB^JA:O?4V^_;55'+ @P(&"-(EBB** 0*;TGI.D*$5(A83Q0=ZU M_=W.CCRJTK&[T*AM;WB+S[3,RU]HOGI;E*4^NR^WPNRJ7M'U2O^UW,^H*,),'Y\)3+',3)&! M&#*A,B@9SE*9XCB.L NQC27HW*CPX(Y_5U+W!K0J@CIJO5825%K> *,G^-%H M^B?0ZFHL8ZVV;IPYVC=AQ[)S&.F1>=G;P([JYS'V0'AB_M'$G'2M&!OLIZO+ MZ/UYBT(KWZ^+UR89Q#NYJ2^VC @+EF""I3Y?2Z0$U'ME!&F&8YA$*.-,Q8(K MIP7&NN>YK1A:.$T)U7WKCTO#%%?'IYU!W&V3[!7'J?;)':%O@)8:5&(# W%S MI5V3\:B1;?UPC1?K=J;?YXY^ZX?#(A[N0@,#G>3:(N]-I$K9UJ!&4<0D$="4 M6X"(,PIQDL8F:BX5A)%$8:L:#!?ZF1L)[<1L8YX<]YSGX+3C' \@C<1<>'W"C_-1PJ$E&=[+Y_EZ/^T9OITQHPZ/I M:Q'S*(A9&L DI0E$"=>4P%$&(Q$&08@P3;%5L(!;MW-CB%;0&_!H1*V,?+(5 MUN$NTQYWBZOC4="<^N:@VJDTV+[?8?MJ5&P=KH='P7BB6V%O6+O=!3M#UGL% M;-_:=#>_SAH>7/BZO^V!X$U\VDH/VO>%/GDBDI$$IJD,(6*20B8%AP3AD,8J MBC)E5>BGOYNY$?A.L"L(98_A '(>A,ST9.P7IRN(=A!>ST>LEW&[CD2/X' B MS?W;ST>21QKTDN+QTT.+?'RBW]X(W5:N&))VL4^"6F^*=%LMX@A95\OC68[^LTP/IW]SR3?ZE+#Z83.Q5*NZ$,4PS M3""*0VDB??4R@BB%B4J"#,F89787M >MSFV;9[)!Z)4AYW39^IPVF3GL[; >H7.KL__:_]SN^PK4FF]$GQVVEZ^H^#PO'; M:/]?UD59?I!"&J*,E:2FM_\=R%K9(1M$)Z0,@I M^OUJI"8+<7=&S#6$O1>*"W'JI]^=,AB]5_HG$>?]SPXS/NF3VV-1TJ5N<_O8 M.-GKW8Z)^M*[H7RUE:)Q9-,GNU-AC$F89:GB3!^% P%1&A!(9!K"B*)$LH#' M1#A%DUXKT-RH]B.M ZM>K>3Z_CNHD\U7AX$Z:ZKQY?FE*,37?+D$;QX>:;ZV M]Z#R-HIVYK0IQV9L*F]4 ;4N-V"G#>BJ _;ZW(P?Q>H+7T_&OZO%F=1FZ N\ MIZ9&;^T.(^@V'54;J=YZJ4>(1!E)4T@U5A IRB!!)(:10C22@BJ$E0OOGNEG M;G3:BKF+W'=T^C\'IQT!>@!I9%X[QF<$I_\+,'BBGW.]3,HJ%U1]2A:7'A_J M#E79HTSM@2_R)=W0-H]SAA.99 F'4D491#@*(*4L@PFC,H?O6.O: N M/#_XS$;O[]>RS@U_IS[4"5ZKL/R%BI.8I5&HV4"?PA *$LA0C/4.08:,(163 MR,F'H*^SN='"H:SFU-5(V^0L<,P)UHNS]8G)"WKCGX8& C?DC',1$7_GE_-= M37TVN:CTB7/'Y7>&$4A3\:[9^JH@D9'9/Z0J1)HQ2 09E13B3)\O1!!SD3B% M#Q^T/C>*<"NP>1HPNZD_&(:1YWHCUPC'@I,:>YK+AVU/.GE/JO5TMIY^:.AV M_T7Q\%"L/FX*_H^J8G>W-/="8,JYY K*.!(0<<(A)CR$--/_S9)8A(GCIK^O MN[E-X&8O6XL,*IEO0"TUZ(CM>@3H1=SV(. +QVF. X,A'' LL$'FBL-!;_,3 M'Q%L5#T^*%B]-=""2,O/KY?%5^/AHG_<>[2LQ.M\15?\P+ME;\'<58B)52I9 M9&P+(4\@TO^$+&,I) 2E842)WCTX51Z\5J"Y4=([X^RH%0'YSM/+W.JH5A= M=\K\Q=%:>>W069HU)QR0L>V?9AR,+C>@T:;C?V=&9:=0QQOOX&9GA*I!OO#U M95B]5IQI+;">P#LRU?IJ]\I(ML&SMJ>%&4W(G91C3S(+.'Q')CWWU+!0^6S< MDKOOCW*52D782I%DDD!)5&AWD!@"G%*,50DBB.* M,4V9E87A8-O(A>\:V!T\\6S0J;7(Z^_A>G\\JPT.?#.LWMC8+7X M.H'(].A/13NU=5/J>RK;OI!V]-61#^EUE&M\Y,/75G9X.?O MNQ__*Y=KW=#G[V_E%ZVM"6(A(I,LE JFC&]N_^H4(>2(OAT+^,=T9'JX!L[A:?K_?^[>MUTO][75?;:63,Q6Q\4N-J:44HYDM+E[%^_ "\2 ME9(H@ *9[(WH=J6=)'#. _+AP<&Y>*$3N^A^]Z2O4T+?"XBS!?'][NYI/3AW M\AN^T>KMZL&9(Z6]>;M>NZ0J1WUOGO>7U/F0MW_RM?JX:X'&*<2&2@4RZI(5 M3:&!,"0#19I3G$I!\BPHQO]ZD:9&9J6X0#AYD[9.24NI1#PG[>MJQ9)2LRM: MUT588$_+:-1E&]J<*E?BC>>*O>F[8N&V6#208QEPUPLTKM47#< C4S'>R/VH MO.F%\FG7L/I>KQ_J1ETSS2%2#.4 %78[2+ 0@.E" )$Q3273"BG35":Y]R?K MSDF]7NC#4B3W(]!QV-9^U4O[60 MFB--$ $FE0P0Y=+[D77T_0R*:)@.;"NT6Z)9)'=-0UO2QC, O$") M]&WOGFO4S[:7VB^_R'XW]2\-YD8K2[V[V#Z7R;N9T30MB$XMKS!AO[(ZHX!1 M*(!$*2U<.3"=>L77=T\S-4)I+%]'*.X5>*R#2#=.V/#"4B=P]3BXBH+6P%31 M '5? ]5$VWZ-!E1XF:WK !NWEE8@<+W*99W'PZOLT*,5QKJD7+M.UL5K M^[D=ONBM'42KIO'JK;1?A*>%VT6^TV8NY]M9H5*10:6!9,H DC(,"FTD4(QF MR&"BM [*(;H\Y=2HH"5AHBH1PS94'BC[[:KB8C"YAXW3: /+$! MV56!*^#':1;HD_4 )''^2BY70$33YRFD\%Q5[*IK_-%K7GDH>ZKTE<]M_6RGJG9N74UK]X%FUCY*16%-))U)0!05 MP&X$!= %+:!0>2&55V_0SEFF1B6U> DOA0VT@$[CZ&?H7(W.P-10R7?3%+D; MQ&3IQ""297)ZCE$-D$XU7]H9W1=?T2)O;XGG1J6YP JPPK[C1$'[HDO( 99I M1@I=,)*']\F;[%ZGDJZWX^8%=GXO=W]$!GZK_<'HUT-OJ/W%B\''[Z9W<7]P MYJJ^]O^M4G;=-^6'_]/Z\WKU8VZ%G4GWBD*= E,0#(CKWEMP; !D.32$Y1G7 M@?V[3T\TM9>X-E1K85LF:B-PJ)U_!E]? _]ZU,:Q['L UL.>[T;C"D/^S, C M6_#=ZAV;[A>N[Q%/5\;%BX[0>?&\OZ0=.O_IL:RK_Y9; 18+K?A2O5^MC9YO MM9HO/^OU?*7N?NJUG&_TY_75,C2@ (04$A>NLQHU,.<^1,LRK M6M7()QL'14A1AA$?BVYB MG/!B#\RS5V>NW22U^LTSE*>TMI]>;Y=RM0ZYAF7XUN MMYM/=4ZRS+@VLH@#HD4*!$$:L%3D&C-98!5T*APNPM3LEK>W7_]W\O[CI__X MFKS_\NG7Y-/GNR^W]Q]^^UMR^_;^P[]_N/]P]S702]IC7?R\+,.B/;#A8(5/ MRFJ;C?B.ZG]Q&EC2_DOKW+A59W,(MTU_$".Y=GH(,*K[IS] +UU$5XS4\YS' M;D?5?/'D^J=\U?)I70Y^]]/U8-/JO5754?K3MFZ1T 0F6FHN&?WCKL"!0%H9 M(2G(9)$"@G@!"DF1Y4F[*=0J1X)Y)2?$%FQJ[-G6*]DKEC2:)>[Q2EJZE:TM MF]!=JUYE[%U1S2+:DGN>8KW"0@Y]\#7F&H8?F44&/-8I6RRQQCV8BPSFT5E> M[/%[UE6;+ZW-_=$*8;\V6_NLS\5"5^>,MP^K]7;^]U* NMKB;_KG]OY/O?BA M?UTMM]\WLZ* @A#(7%R (1J @I!-4!4&R,%1UBD0?76KA)G:I3_GYJO$Q18 M:NVZ!?&CYO%@'IB0*T5 J4FR5Z7J .W\&H]:.E]'6ZN;I%R73\L(CHZX@,:J MYG:=,.-6>8L"W%'UMSBC]J/4?>RG._:MO1Z;F19:I\3D .9& OM#"HJ49B#5 M,!,:8VEH4%?AT]-,C0++;>PCGUO3:+5.^(.+4]NX0MV5O31?)MOO.GFP*CRM M*Z^FM9A6NPWNH@R;7NR#:,/(],Q2^)'D]0 /3'ZM^'$GX4WC 8Z0T^^'022^ M.C/)J#S4K>A+?KEP=4_><,6MG=&WUM\M+5GRJBI=NRHLMS_X?.&*"[U?K5V9 M@;W%>*O^ZVE3YM7\IK>?S#W_.3-,:N2*8PG)71H3]@]""2&R@S#@+JW:?% MMN4TN4EVR@!K&P"GSDW2J@=VDW!C:2#9:U8>8%K-(G[?(F,=ZXL82ZQQOZ&1 MP3SZZL8>OW\J_=E^E@(+@[AP'42Q\X9C#AQ- T8)12R#$I*@^.E_I/ZA==?+ M3=7UZA9Z$[==: @B$1/:7[=Q:(C2I]+5!VH: MVFIB<[M4M0]B?[ZM,./&I!)(EEE[SR"7B\$4R(GD,(,H%2D+MM[/3CRRCJ[YN^7KKQR!7?3M? MSC;]MNL]\_6E=)N&HLC50^3GXX<7OOWLYB';R)BX'@J'LY*[#+JZM$KEN([:* !MG5 M78(H_N;N[(ROM<>[!$''5N_BK5?4U+B5__,TW\S=N;,K)CM7NJK?<;_FRXW1 MZ[6NVIM6Q]0SS23'&B%@=*J1X6.P%7QHZR!L1Z8PDJ!DI;X-\F! DE+@YNZ M[7&E1.3J'_T0C%D;)%""\2N'](/H9%V1GD-%S08XTKD04"GNN@VMMGSA1X3^4P?QWTZ X5Y,EQ8B73S-4Y4)4I]M MNAT:WPD=)?_FU#KX4=\PZ [,>!?R;7;"M_)M!D^RZ4!LV.2:4Q-/(:FF Q#/ M9)JN$7IZX.1WK9X6^I-Q8R_M0C_7U9GNG75RKW]NWUC5_GN6&L.TX!ID$!- M#-6 4669C FJ=9Y"'1;\YSOQU$RX1FX7Y;>3/-"=Y(NYIY=I "2'=CZ= K%5 MC:T4/'&2)Z7H,5NH!J(5RV/E.^VXCJQ ,([\6Z'WC]REND[2;CG@OJP6B_>K MM?OEC!:0YTPB@(SE-2(*#@IFD#73.-02<93SH'/*8<2<' $Z-T-3FZ'M/D[^ M<%(GM=AC]:GN7N( /_VK+MP8SOYK^EFWBG'T6/'Q^EQ[+F3[S=;OX^*".C\L-]MU617G]N=\,Y,P2XDT=H>.4>&:9>> 9SD$"!$F M,IP7619TA'(\Q=1(O8QLW8N8_.&$#*3P$T#ZT>]U\ Q,G8'(!%/=>>4CT=2) M"4:EF/,*OJ2'CBO[O=I_>^*66K9:;][S^;H\#]EW:IFE&4^QP!Q(+B0@*;>9;G7Q>_:G7 M-RXRZZ^!_;\[@?=CA6AP#DP0>SEO$B=I?4BZES5B]V\?2&)U_^Z<:]SNWSYJ M'W7_]KHI1GYLTR#E>98:83+%-.#:;2B9X78OR2@@1F&%[:XR$T$]!L[,,S4N MN7DM>X1]*.&"+@,3 I'B:T[(8?*;#U"89#4UOTLKYC;>J1J=W+K\>7] MWOI?]RG>'Y:/3]M[.TS=BYE8$\((X;I-:I?7Z+I->G MFMJ[WY(T*45-G*R!?:X]$/8CACBX#.53KJ/'+BDIZG2'K]8R[U MK_I!Z/4,0I[1+,L SZGK!Z8@$"JG@$$-$: B8 MYU%*7QB&/@&IY$K^J"2+>59Q2N-81PP'8X][,G!*K2.'_LF+>K0 N;^7*_O? MEZ6NZD=/04RU*!@0)./N7<6 %X);:YNP%.89@]*_:T?G5%-[<6MACPK#>;[) M'MAVO]9Q$1OX'3\+UN6W/OB)].\"$0V]D1HW7(%B6'<%+V Z&R)TCS!>#P,O M30[:#OC=T8-(/Z_G2SE_7.C-)^."H%>+N:I.69?J#=_,[3]_MD]+\QA]MK^7 MS^TH/TRE%!I0H0D@TEE%&3<@USA5,#/&[F6\F?8Z6:9&Q7MMW!G)@3YETGJI MD?M56Z< PKERY3QX?+SU&)CH6TOQZ?Q2?#IK )^"?:^!:D ;^J 3CG>-6DOJZ G\YKKP@5_[Y: MV#LV=W;@[;,EF:.@PLW^PTP1SB!.!2 F,\ =Y(%"D,(:P!G6ANB,H# _8* M4Z.),KS[1*APCW#ND&7P]"X.".[0#LB6Z/\KJ80O+9L3,==VJSU,[DM/^&(& M3(=,/WXH= ]P3@8Y]QFG9_N3)KJI=93Y?JW_YTDOY7-]>"X1$QI+"DQ&,T#2 MS.[J8::!)MKP7*80F:"X)(\YIT9K[4/WG:@]PQ1\(/?CL\A #DQA/3$,;T7B MCTJL?B,>,X[;5,0?@J/.(0&W7EV%ZBU_G&_YHJIS]<7NX=8_M.N#^OYI:Z?^ ML-D\N;)K,XI1KJ4N ((262,+"< < 4E#,V90D5$1M-\*EF!J=/2U+BWL7!W[ M6E7)NI:_=(F84H.R,(Q3H7?U*L\U\F.L09$?F+\.*UO5XM?5BI,O;>@K%9(/ MEZ"_ILY5&'SQJUYYSO]:-;#"X.FHB!4X4#]*_+QV'7^VSY_M [=U=5*MX??H MF'?O^]SO=;! B&BD :5Y 4B1&L S2@"C14ISD@M!@K:<(9-/C0@;V6^24OJJ M_&\C_TVRU-LPW@M:"#_*&PK>P0]).I!MI:<,M-?L@UHDD@N:>E1^ZP/*2VKK M-4:/DV3?DEI-33N[L74U'V99+IDNJ-UL$E=_%"D&..,"0**@P0Q18;S2ZJX1 M8FHL5XN7/%;B!1P[]ET%C^/@$; =VV7?6>=O5WSQ\VBK$'#J.\)JC'3<.]"J MA!WI7@EGYUENW[''.\2]4ON#T]MKQ[HZ?^(WJW!55&C7 ,/H5"#)K=W,M %$ M"P@X3ETF-T18")CE8<7(.F>;VL?DXVKY#=B)'MIY%O_:.]'B!+Q^=G$TT ;^ M2K3DO$GVD@[27,0+D_A9&R?F>JT\CO-J=V1V=-S4V)Q2.M7%M#SWNQO2$4D<;SU/7]*^YM-^N[KX[%!%JH&$ ,FJWCEF. M ;,_ I;3G/*,J[1(0^LN'4\SM5>VK##4]L=<_BZ%@.KW&E\/U< O= ^4>M5B M.@]"Q'I,)R89O2;3>45/U67JN+J';^G]?#G?ZH_S'ZZH<9,"L:O3X)J,R:W= M43RLUMOYWZM04==(]S\U7[^W3]3,JDQ5YII8D8*[>@L,<&X$()(AI97(4J2; MCM+WGJZF*V7R>E4.6TG?CY% ]EVO==F%.,#=<>WR>#B?QD!['&*J- &E*NVD MJ9TR-TFC3M+6IVD.[51*G$XC+E" 7VK$A1K)/S7\@H6YJB(AW.FRNG:.\5Q7 MD= X<&'%&C/RV7"KO$V&M5*D8""3F *""E=87VI 52%U5C!K& 5^K^E !-YGNE?7 M(RKY[^[A<;%ZUOJ+WMHQG0^_[#E6E^J?&293"%$!A-+6FM;$@$)G*<@X+3*1 MIIE47HW:/.::&NDTTB;K1MRF']N^0UN 778!: ^[.!Y\ Y/+#KF=I$DEZJZ- M1SS< LS5>/B-9(U>@6.8F>F'3*<5>6&(\8Q$/UT.;$#/6_J9>'=\[=IV;YIN MF_N#2JR,@$(!G.4(D Q!P!060&2493DTDN.@P.=S$TV.5VLY][UB>[LUSV+K M9[+%0&QH*NT%5K")=@F)2';9V6E&-<8N*?O2 KMX_=6I$F5.QBQ#!8(J+8!* M%0&$%CDHW):/,:AU07*<*CG[H==BU2,7HIPBY,%N3S3<\WW8COO_2O^:IG#? ME?O?$IBF-VGU_V131>/SI^WWU7K^=ZW^+4'DIJ#I#>+SZLJ.O3NI]U>;2K_ M^F8[*XCF3/$,"*(+0'*["6)""S>1N^?101^H&[KIB/@1^Y/A*2SLPD;[:JL9J)W(-_L.V M(.DEV13:EEP#J6>KDZNFZ+G5;^Y18T-Y]#[UCJ6OQ2XM%9+D1,K6)M>%!Q2-/PV>'W_TAF1@GJCDBGBDUJEPS&*.FU%/USK5.EF^ M\>BBGG4;GQX?%Z6=PA=O^>;[^\7JSP]+^WE\J.*QFD,?G$$.88$!1\8 @D! M!3<8Z%0(C6169$60/\MSWJE9$&VQ$[6+S:XJ"EDU$F/UV%BC8J=)8(*@[WKX MT<( * ],& < .Y$3)W/2$GJ0,[I H&(59O2<==QZC&%0')5A#+P]C+:4GL_N MEEN[TWH_7^CU6VO#?%NMGV?,4&IDSJU-@:R)P84!C*<4X,Q8&X,((J17'.>9 M\:=&0Y6(22ECT@CI1S3G$.PFE BX#'V8'P2)-T%<4/P$$6RT_.NWU8]_L7=6 M'&!_V+_ZY\8;Y16_H$SS*E^ZK*>ET3A$[LL2'=H(PW)MWU/M^L!QNRE@N:$@ M10J)E#!"'@XWZ53RIV]/$]?56_%_;-TV:^U)O-V]6#F"]Y78/$^3SM! ?52$ZX/V,MAH#4U&C1])2I"R;5*MR6$'IS"E2//J* FLDMKM.EE') M,0IL+[DTSJ#AVYO:K_-^OI%\X5+A[I;JG:7U698I#?.< %A !$@N,U!8:PE M@S&VYA3Q=,%T33(UHFS.&2I!JQ30.Q=6:&7UW^^^]2Y0&4"I58$8%])0[]2P\_-,[75O2YIL@IIG7T*T^U6/B-/ ;_L!1(V4 M?1KM=F 5D/<5![.16[W49D* M?P)(OXW>=? ,S(6!R 1OQ\XK'VF/=6*"43=.YQ5\N1OJN++?J_V;WKKCH3(D M2VGUYOGWC:L2LHNKNW490J579*:@HC@W&1"YD(!@9G_"A01<0T%3QKF *"1^ MQ'_JJ0676,FK8^;'6O9$/">_/+D6=O/E7Y+5+NB5[U0(XXF 5?'CCV&P'IA7 M',SEV?/G-LR_-S#O8XMO+\,<3#KAB$4BHX")1R6I<$!>DE>/$:[H@BI?]AN5W/EYNY++/5 MX(SG&:0%4P#FF@"2XPPPI"T=%H(J4R B95!&QW"B3LU^:DEZD]Q^^[8NJP F M.ZFKM,L>?5:'66C/P[U)+-_0!X6M%JUM-9.6GHZ:3[1R34IE;Y):75=:KO44 M^*Y]OTZO@RY+S)ZPPP@Z?O?800$_V6=VV!E[?GSD=ZV>%GIE3M;=JZ)&J^YK M[9)[=>!W>6*\;]$EJ>22%3G !=:N/;<$10H92!G*,T6@RA .^MQ$%&YJ'YA& MMS*%K.I@V-;A8N;N\*OI^4UYI34:^BO27IXS-4B;./6.Y:N#59)A.H0/ 'VL M+T5,T<;]-@P ZM'78(@Y1HO7:9),TE0Q"M,48,(-("23@"F5 T60, I1(].@ MS45_4:;&[6(C\*'P?X@0G[BJ"N$XKY+!=#U@$0)Q MXN1&_<8=;7\RM9_(SC2CN! 4J13DT*26*#4!W! &,$ZS3!/LPAI#B/)XBJD1 MX#N]D>MYN75Q!I1HWDV7\VNW./,R]>G1-5"OCV\#'<['&'LZEJ]";F@'N7G/7]FW79)]L.6\',O^O-#E3G]Y4+%^ MAC F69XKH"&T.^4L98!C5@"1$U/D&<$B+#/29]+ID<1>YJKFUT'_AN!NXE[ M^_%$;#@'9HZVN#?)3N"J(%A+Y)C-E_P!BM:*R6/*D1LS^8-PW*8IX-Y^1/3^ M:6TWEVX/N53OYS_=3TVLEL:**LHD#U\"D M<6J,TMEKH/'BF$/T.HAH#KKQRGSX$P4"]V5W.!749!1P(0I E(2@R%U95XNZ0#37 MA0G*HO69=&JL?;%$9\\&%UX+X'ER&AG6H4]$KT>T?V:^!T2Q\_6[IGR=+'X/ M$,[F]OO<&^T$T>UCW1EFZQPL\-T(&W1";\FI8ZC*#U/V\FN?# [QPO3#;;C3 MIJ[)7_N$R0,8CU,EGU'Z?NM7\K^_KQ;VCHWK,;A]GLDL=:6I-#"Y3 $1,'5' M[APP@3*1L8SP+*@HYO$40=_QT2ICWFNYLA:6M6?E7ZO6-+70__Q/!8+YOR6Z M%#[T4WZ$K^^'^QK4!B:@2J";Y':[7<_%T[8,/]JNDL\\[AGW>1"B?8B/)ACY MLWM.P>./[-DK^QXA&;U>:_5%_]#+)[W[CWT)EJ[-$IPQG4I#N *9*\I-LHP# MKNQ?\U1PIE!!,X'_SIT MHOPU .4>WXI0P*)]-+PG'OGK$0K(\6(0>9XDO]\ ?]V'/]E=/#UJUR@4B MFBHD, >4L R0-.= 0$@ -BC-5)[Q% N?;6SPS%/;W;9D=5T?G+ WR?)RC< K M\?AL![IX#$BYF$'D'UPZSR( M#!IPO /)/GH>'$SV&B#L([!9;V?NPU0^;VY_SS8Q2R5F>IX!2 M3@')$ ,\RQ#(#%8TI6EAI%<7L?-33&V3<"!E4HJ9_.$$]3QL[ "SF[KC0#0P M1_= QYL7+@/092_:NUNVHOW;WD[L&'@4(KBL6//&>UQY7:KXIZZLQ:K6?(H9 MR:B40'&: V*-/<0]B_S[+XKGX<8@4 ], M*1%1[IV%[0]8Y!QKCXE?)8/:'Y!S^=$!(UP7N]"RC3:?UZOW+FJK]K?.I,AS MI L"[(X5 8(R XI,:J!R 0DO<&IX4*J.QYQ3(['J$+8^:0D,EO>!V(^9(@,W M,"7M D$.-D96WJ04N#EQB1_ZX0%/Y'B/KAE?)M[=9(9AP+:QAA@2$@QAI+!IWKM(QQ]2XY/:' M7O-O.EF6@KH/MFY$#>U%=HQG-Y%$0FE@XJA#MW_;X7-W$9\>C,F9>M-1ZFM3U_IZ\[+65[UW*A15.2& *E@ HHT MO& I2 LHI21&$Q;4=#V:9%-CDK;17Q7S$YU%_S;[JG_BN.K?M=NO:Y<]='..0&+Q+FT?=_U\KU2MO#2'">WSW&FJ!G_O7YO>NO_+]6 MZ[<+OMG\9E^,NK8^+CBBAAA "YW;C::"P/Y#"DRJ3@]!5\N/I ;$?F(WCPQZ>$-X/O%A9XH&SCYLZW@^:HWSR MGL/T" RYR,'G*+BN?/N66V#J-C$;E_Z^6AM=YL)O/BP_Z_5\I?Y#S[]]WVI5 M;RWK6KGZ\WHNK3F-$$HY<;WOD )$Y0QP6:0 4TI(JCB"N5>D]!24F1I%5^I8 MGBAK:52ZV+_]\K11R:/=O&X<%G\)B+!X[8>EF]RG(.*$OA0^>Z[.+5>KT/H! M*E7!D3TNR7R95,C<) TV2>-':M!)2GC^@9ZU@ "A?Z!G;J28HW^H9R\LJFDB MB]T9*/7:,HX7>_7:FIX*YYJ*3#T]I4]BH__GR9X<(@7E!KFD'. M";#&&0*LX!)(6N28R PS$I1DSF32M#^Q2G.0>OI7(P V- V1Q^L MPCU^%X"(Y< [-\VX_K@+RAZYURY=WX\6/BSEZD%_7&TV[ZV(5:WFI_GRV[XN MZQMMMQBZNNZ>_]2;NY]V8CO'?,G7SV64FPMCM7=:]>U,W^S65MN';SM3!A$N MG&=-NG*'"%' F1$@)43J5#!D4!K"+ /*.C5RU(RQ")+H>4M)1&7\$R%]^-,:8LD\%S%-5>/EA%=[/:]YB M:W_G*CP\/I1I;!C*7$()L$XY($H+('26 <9RG&$L(95>D8'7BS*UKT9G:>]$ MA[2VBK!.'EZ]T= ?F.Q]*X&7D8BE-C=U(^RR:F2CT6A+$U*6Y\!+ M%5C,,P:ZW54^KYIAQ/*?,9 XK L:9<1^VZK:_;.Y7Y61K>X+>WC>-R,("F'2 M'&B(#" Y)79SE#%0&!>*:C*B5=JCV,3%B;U>R?%K3'RV WWG&UVVJ)GOS[]Y M*738%NUD6\XP?KIVD?S8:T3H!^:V$Y4.#D1-6MJ<[ST8C_PB(1N) M&J^59E3BC 3=2UJ--6Q/8Z]M1-ZVC,@WS_=VQ+* @,8940850'(% 5&9!KP0 M& @M*8<%483H$&+UF'-JY-FYG[I)G-A!Y1I"X/@:4?BT1" M:&#V<%(FI9@W227H35(#-D2SLTFBXB #4P4/;'JD1S=B<05"=*GQQTY2;I3N>-$ MZ>[+^\;Z'/J:?M/;NY]R\:3Z\)DTB!Y&J _ZX:7_N4=;9"^P_0R*V! .3!@GLM>LQ,DO.YF3 M1NCS.2H]XEG\,8H6F.(QY<@1)OX@'(>*!-S;(^;#[H+4D]R^M3NAN9G+TN]2 MF]6**FZ@5H PJ@'AB &!<@AR)G0N4I.*7'D'=)R?9VI&2"UI.%'ES6X2"N MP./RWK'8:\TW^IVN_OMA>=SBZ,MJL7B_6KNTDIE"1N6224 9A8!0R@$W1092 M*!6&66IR&=1./G#^J?%I(W[R2Z/ 7UP:65N'_Y546B1_.#V26I% ?W/H,OD: M>8.!/[B]%QWW/N',?="+%Z(<-/O88<=]H#D12MQKF/!ZYE7+O'K+6W^C99&J M%)K,4IVR)F)*)2@0S0!#1*HB-3"%W+>8^8GQIT9E=>-%_[+EIS#KYIT(2 QM M^Y72-8ZFB(;+!=6O*%5^:M31ZI1WJ-0N4MYU6<_4TJ.LUWU.;%/HKWXF"1($ M8J1 BJBKLE^JIO>(G4^3WPM_LZD\&YJ+ZKX6? M73(,P@-3Q\DR=:? '>"H*QRP6'FM_A./F^D:#,A1[FOX".''9._J7?G[^4;R M196/_][^VV:64ZY4EAD E3* $,$ QSD'F=0&"XBI8=Z'9&=GF1H_-8(FE:1U M-8ZDE-7_@.P\J)>/QZ) -3#1]$(IZ&CL(@J]#L;.CSK:L=A%Q=J'8I<9,0;!7 M9>" .:=&!K74R:ZZ?B5WTA(\P!?KB;N'#SL^F@/SA0>0?;S;GH@&>+KC(SN2 MUSL*PF$^\#"L.OWAGD.-YQL/T^W 3QYX:[^]YT<[LM9U/OORVT?GFFKZ[#TW MV3;OGO1O^N?V_D^]^*%_72VWWZU15Q"DN.( :D(!X10#)DP&4I:GTBA>P#0H M(+NO(%.C^O_4?!T:,]E[$?RVH&- .S#O5RK<)#LEDE*+?TW:[. MU4U2KL*G9<0^-=>"&&F3VEN,4;>LUX+U<@-[]7@]LP&7V[F:+YZV\Q]ZWXNZ M"NO0JBH)\O#X5'V2/YD[OEY:Z3;6O*YVW,^G!R@S*B2B,M?*)2RS'!"ML4MH M*0#ED"B%\MR8(/X<4-:I46Q;TE;']U[)+T,NL1\[3V3A!B;PGFL6GELX/)JQ M\@X'E'3@O+=OUTQRA8@0"'"52D!P!D%!6 %D#E6N M(5:(!?5I#!5@:N1>6FYT&/MY!WI33]) _DE M.'T-XZ-QKCVI[E?"^=/3=N/*!%E1.XO,T\+D!<2)'H.MYA$M[4=H$/%*:Q8]+F18J5\IJ&24I3@?D3+.]/W,G4.[ZJZJ M_SK+I;F@#KB-DV56*YYOO%UDD!.YKK.D),>W% MB&1?["(9K:/8F%,P"<,LN"M9V [UL*H2H^J0*P.9HEF: Y;E"A#)4U (!H', M,W[M_%20#O_9M- ;(-3BK>J37^GC\ M4=_HL^J]?)G/7QB>!_!VOGV^76O^=J5<&V-38)4C8"01KC0%MZ]OAD *#4:Y MSE*<>37'>SGPY-Y:EYSKA$N<=/[Q_0=@=;^NUT P]%OJIWU0W/XI57N%ZA\, M-%IT_BGQVP'Y)W_?MS;=K5)V.3>?5YLM7_R_\\?R:?D_CX#7P6]L7 MJAZ5Z;J0N*(PW@5;/VLZRB@ M#NZ9S(H\11)0BESVABX (]0:!U(BA"FAUE+WK@=R8H*I,4)3R\O5 MS*_%# H7/@MD-PG$@&?@=[\',F&%0CK4OZ92R*EAQRL5TJ'40:V0KNMZ-\N0 M6JNR(>EOJZW>?.;/7"ST+"_L-]U5,Y-I8;_VJ;7\&8!%4J/[< M1!-\M4LYJQ[!2RMI\EA)&MP&XS2P?M_Y&' -_ZJWD"J%3#Y?@*I/KXM.'.(U MN#@]S=A=+3J5/='*HOOZ:\MN5'&>KCX$UQ13A110V)( P;D A489H)G(N,FX M%-*K4E#''%-C@I?%).J@YBL*;NSAO+SGCP#2P.]_#WRN*+5QA$"$0AO[,5^I MS,:14N>+;!Q?.G+,=553\,-RLUV78FT^;;_K]?UWOJR#J&Z5*KM]\<4[*_%B MM7FR3]NML-=SN9WE&4&(&0$0U"[T 2)0",X 8EI@5X>LP.CZT(?!]9@:2;6# M "Y'<;X(%JBB..M:H"U$DA*29&LQV<=X[F%)6KA8X[Y&)C!3\K6>0S_SZQ_@ MZ1J8W2.$!P_^8(T7,1QG65\[@OA*+280/C+:4D6+,(XD3L^/_5%-X _+NHG$ M9]=UW6JPW:[GXFGKM@WW*Q?UM%IN[3K90;]]6-HOF-YL9TS(W&!! ->NW*\B M%##!L7,(,$.YA)F$(4UHXH@5]"D>H4W-O9LCV;1T^^=_*A#,_RW1I8Z!W\9 M%R1E*="$E/MM^_+APBYC2AE$D+*4%<$):Z^T:J/EH[WF@GG:E:,OP=!G?:42 MKF=ETTVJUB-I*^*2PP]521I=(AIW4;&-9:O%$6I65-S1^QE&O\Z7 MJW4Y=355*M&5;-[ZRS<_/_[TJ!&28L5XAA:QJEUC0J"KO)5@H!!0TC M6L ,"31;ZF]\J]6]OW3,$JICB2KF)% MF#\\/33I'TPAS%,)%,D-("B3@!$D0 HQU(8HF#/A&Z=R,/+4W,*UBQ?0F. "IMUD$1FI@;FB%"QI27I3 MMS]/;J/C%M#((1Y^(S5PN +'L+8-?LATMFNX,,1X;1K\=#EHS^!Y2\R@G_)? M-[=/V^]VE_9WK7Y?VA%+]UQU-.D8?7-0 .F+.^W\N/I3KZN?Y@_S[4P+K%*! MR0!G2NF<3P?C"3LT6/"R-MD^8>5%2K=G5_!*WV%ZD M!^":D)KQEW7$N)F3E44JO6Y>5,5+2F5NDE*QZB])J=K0P2]Q%V#0")=(HDX@ MC"4NZ'ZQ*I'G[&'1_[9:OG4^/BZW7_3"G35\L.;+\MM<+%H!>CHE'#)4 )TI MU]5-%=:P3R'(!:2FR!0AA5#,V!G$!W6D38(E^"-M#T(@J=SE^ WTGB;A2#-#O8,87?VW#K([UH] M+?0G<^:SLO^"V-W*=OYCOGV^+T_N=YGMD,D4J8( @;(<$&-2P"$F@*:,((*9 M5&$53J\7:6J,WVB4K$Q=G*H2/VG$#[3VKU\S3YM^U)68BN7>:)+\4>J2#%+; M(!ZTL6SRZP4:U_*.!N"1?1UOY'Z<_'Z^G&^M/?ZC3?B5P^C-\Z_\OU;KMPN^ MJ;J&88&@9E("BK4SI[4"@A,#B,I2F6>IH# /(=^ N:?&LI7HH)2]9:$T_DSQ MG)3R)Z4"O=J_A2R,'\,.!/? 5!H5Z6#J[(%9)(X,F7E4,NP!R4O6ZS-$WZP5 M:\JZ3^XG\Y9OOK]?K/[<[Z@D@T6J\QQD,'5U*20"HLCL3XA#)153!(7ED79, M-C4"V\GJ[$0G;5**VS\'LPMH3PLP$GQ#VW;]D>L1AWX9DFC1Y1U3C1PS?EGI MXTAPCWMZMMJM3L^:9YDR:F"N4B!9C@'A+H$-"@DR07"&I2F0#BI==SC\U&CB M]NO7N_NO@8UK#P'S>_G[PS#&X?\P;_=IG6,U<3TOJJR*W(/4]R,V;6/G>N/BD"%FQN14@E2Z@.]<&U!@;(#*4V5AA[S@ MVCM<\]PL0:0]0J#F[TO#?ZS6I9-X]PXL]BV3O4.]N['U8.@8B W,R"U.:,G8 M'=4= %( V\8 :R1V[0-:&*5> J.30L_>/!YE7I+_@"(O7MQO-_JWU4K].5\L M;I='E+NO^;+?K.H\Y91B .WR Y+9'2LG2(.F2]=STWXB#ZYP>X&=B;F7^(KLEOY+YF&)OLI"C.%N M/,R1.1 Z:>E5_JI9L8.KJJ:3E7*OLGI7I#&-LHJOE_$TU&I>ER%U->A!R53] M9WN]O*NK$>I,T;I^]-Z9]6:^==V(9@7$ABI> (U1 8@H[%XARPL@%4:YH'87 MD;&0RHS[H:?F2W%0KA9S5?H/E_8%M29+8'F@%FZ("@.5M2V(P 80F1F+F\X MI*C@F&8\ER:L:W0_Y,;I%&UWL,F\;F+E8 M,'FOAE@NHH5+6$LL)!*2@##"J M,= 4$BQ3E$L96K>AS_,VCET5\7GSVS;V0V/HDQ*K^T$'M$D4^SN&*EXQAF;@ ML4LOO%#H1*&%EU?T^W[8%77Q%G:\'_;CI-X\_[YQ9P'OYTN^E':YZIC5N;8\ M:3*562X$KCHS0C\H^:FN3ZX^NJ-P[O9'K>1EU_W&^U!^V^F$S([DI,$]3 M:^(1 @@FQO$7 YH1;4V5@J8Z*%KTPGQ3,V(J<6^24F!7Q'$GE5&N M%61JM'3_W>X&N),PP,]YS4)X^*5'@G=@KNI,O'$U1RI5DK8N-TFY%$W_MJ>Q M%B7 W3S2XHSD8!YVD<)\RA&0[?0B7S/^>'[C""@<>(ICC-?/('ZG?^C%ZM&5 M<9??EZO%ZMOSE_FW[[N@4YT63+&, $8R:Q53F@$A2 ZDH466&Z2X2D,,X@OS M3>W+LQ,WV MC/^HT(V\!?E%.()96L$8LL!^(2R?2]--NHIJ^GZB]- M7]_;^M')V]7#PWQ;]BW;G6I)NVV_7:J_/?$U7VZUWNRK1F"M,4.I +DJ." \ MI\ .FP*$B,QYGBG#> B[A$T_-;)I25\&5,FV"F&L$[@.?B0T'+H#D-/G@>*TO;?*)3E?C&L$MUB,!RF><5W9S>:1%A=S7\QQW/Y@U\XY; M1,YTBDS.:>'"&S- ,"^ @(4$6!K.A"!&$!P2B')IPJF%G]Q_NK_]F'S\OM__O>GC^_NOGQMFDW?_3^_?[C_S\ CW4OP>Y[I M1@1UZ$/=O:B[-D(=93;#SW ]H8AUB'MING%/<3V5/SK&];VO'\E\VG[7ZRKG MJ97U4&##\QQE("VT*R@@X@0!)50B!K &8!A5(/#G+U'9ZI9 )#R@:T@VB M'S]<#%.L @2"G!99"!#V&1* M(81Y4)GZSMFFQA*E>*XXYM-&][,+.K'UM ]B(3:TG=#(V<2$EJ*"E0%6V,I^ MB&@R^( 2RW3HG&M<$\)'[2-3PNNFGB5%I5P]E<=1GU>+>7D@U10%@21/M>'0 M;1PX(!EB@&E&@&$9AQ :14U0E/GYJ:9&&WM)DT;4WH58.@#VHX\XL W,'3T1 M"Z]3>A&,6#5+ST\T;OW2BPH?U3*]?$?/>D]\OG1Y>I^6[^:;QU65+?[)5'L< M.*,L(PH3N_G@S "T\R:'(4$!>$:I;A 1K'=L5) G:?.6?L<*HU1W\D*G:R6 MB=J+[*R0/A;(!=3]."0"B".5:G+ 50FY#K]WA_C%JJH9!DNL6DS=DXU;?,E+ M\:-J2WYW79/S=FCJ-)[3Y[IQT>:+?K RV$$_F??SC>0+%U\\2[%.%9,94'FN M :%$ \&@ CFU&Y],$(1H4'Q>?U&F9LB4WL7_3&CB:_WRY5'4+MYJP#UIB" F+" %,HD,#.%)KUFG1HD?EDDM=?+EG_G#X[^]"Z-'/ZC]F# Z@ .37AN[6N+R MF+DE\P#!@T$H1>(POSE'I:L@&%XR4]C-822D]'QV9S>SCMGEK?_RT MOE_]N9QEAJ442@I2JFF5.L$TRX#.L-8&B33-O8ZA.^:8&L%48B:UG#>)D]3B MF#A9_:BF"]!N8HD$T]!G3WT0\J8-#PQ.D,1&R[]^6_WX%WMWQ0_VASTM=(TY M"@EX*-6\\CZ7]DV;JHK]EZU!S[3_2$FF3)9F@!?$O?#& .$B4"2EE)@LLUNT MH#+?'G-.C0#>'W='X)V')[W!]K,R(D,X,#DTTM8MBWLTK^F1^>0-4+1TI\LS MCISCY W!<6*3_ZU7-VO7WYRY\D4_NCSSY;ZU^V.K2GD#.H M*!#(E77,#;$['X-!RI!F@@IN5)!?J*<<4^.G@[;LE:S)3I.DI4KO]NQ!J^1' M8B-@/S"Q><-^X\K$-5>,U(R]#Z;Q.[ '2?%:;=?[0-71:[W7<'V]1"Y>[I[_ MU!OGE)QAD2+*N 1"BQP019VMEC. "LHU0Z+ 15#_T!?C3XWWRE*,CU:PQ$*< M;)V8H:Z?0_Q\G3R]41GE].7 MQ8CQV_F4WU9AQ:V6PW4Q2K[X7)_/W?WY*V6!L@+05&M ,FD MA[D D!>:X)P+B8)LHEB"38TLNLYU:N5NDH/^VSL%DT;#Y(^]CLG=\NFA+ID? M&$$4;>W]^.HU5G1@HGN=Q;PR)O)ZY <)G[Q"K%>,M+P>S.Z@S CCASO=W]5) MRF63CG+HRHR<&6.$E!D$"KLBP:C( 8/6NM.4THRG,C64^GK=STTR-<)NY$SV M@M;;*W^G^UE +WO=8\ T, OV0"C(Z7X)@EY>][.#CN9VOZ16V^]^\=IK'6!O MGC;SI=YL6OUZ-F^>6W\KW04S1A#5++>O/4KMSB[-7(D/5@#!A")$&2ZI5W/Y MO@),C1S:OI=&@W8OK$WIGJQU51:]^N^'91WU;O?:S^6;I:R-DR&%@(%, >(R M6+C""J@<:Z%1#G,=E/9V<<:I45XC7O)8R1?LZKH L+?S*QYLP[O#2AF37QII M_Y+,E\D.R,\7@.SC)/,#)Y[;[,)\8SO2_-0_X5KSO+%_>=C5LBS442;I;FZ? MMM]7Z_G?M9JE)K4[*)H"YNHH$B-S4*1< @I%(20LD"R\FA]XS#4U1JE$339. MUILJH7Z3\)VXX:5?SV'L&]80!;G!PQE*T+Y6H%6")K>70>M5OO4"'!%KM9Z; M:?3"K!=4/E6%]=(M/1-I?_#YPI'/^]7Z*U_HKUH^KQD#DRU M]5T"GF(B$1* *B5=NP!K'!JA@4Q9!B54DJ9\]JC7\Y7ZNN7K[>LMQ$LAAHQ: MFZ^3'WSQI.V63'^;+UV=BH'P9XHSC#,*!'4%U0G2H,@Q I@BF&%M:(I(C?_= M4KTV^HT(XV"OEVHXX/V^K$- .;1OTPJ6["6[20[9Q6D1,0D]$)]8*>F^TXZ; MH!X(QE&Z>NC]?3T&/_32+NOS%_[GK]Q^W^9\L9FE+$V9RG) ,Y@#8K^]H) Y M! 9;0UZJ3.8\Z%M\OP.(:/O]4W.,O,?O4/-X7]]U<8]JZ,=E?9_+99SA N:( M$0)T*JP!8J@"7'$"J-;42"8)P5[O?>?@F,SHKE9V\>KTSY)?D/:I-? MO+AO0?*E_F3>KK6:;]]S68[[4;MD]'YY7S^Z<7Z-?W=NC2H9[':I6K70?]5\ M\V1G_K3\XC9YZ_GRF[W@M]5RW?S5%4?=?-QU8.=(6-LLIR##1@*2L1P46C! MA7*%?C#*TJ"@EJC238W(2I?2OU C^F?+6E'9A67V55@ZEX$/0C\79NBJ^CL'!L![<7;"#^:B/EQ_,/9R'O<"* MYE8,FWUDAV,O:(Y=D?V&Z4=TG]>K1[W>/G^V#];6,JKK"U369=J5BLX13PE* M"T S80!1*@="8 TTH5H+3! 2(H3:+LXX-3)K!+Y)2I%WW:WJHF,]BW-?!MZ/ MO:+".3!?78UD,%UYHQ.)H"[/-RHE>:O_DH3\;^P9LJ3^ZVE3M:2^7UF+SJHS M7^C?]+;*77:E?N]7+FO>"O)CKK1Z\_Q[6>-EE_MV*[?S'U5GL^:%274.59IJ M0&79C:@H "]H#B"6:?V*O_>K/(^DWFO[S"-%@9@%#;@T/DLJ!XG\S&@&II&G8CM;,&;I)$R M!D@!)_,QP!KI9+X/:&$G\Y? Z#R9/WOS>"?SE^0_.)F_>'$_6[QVK;KGXD"R* N4Z1+A@M<-#._]Q$4V/$EIQ)*6CB M).WEL3R+K9]M&@.Q@8FQ'UC!1N$E)"(9=F>G&=4XNZ3L2P/KXO6]?8,_+-6L MEN]7ZW>K)[$U3XLFW7%<(II1'($(6 ")$"@24&'.B:;&H$ ML9.U+.>G:FGM[K<2-]@1>!YE;Q]@%.R&MJ&:=&:[!]#S'RX:]*8)TW&;@.3N MYZ->NBSH+_J'74:^.-\UN8\G\")&\9R YZ<:V_]W4>D3KK_+]_3U^JG2<.$+ M5Y?PP_(M?YQO^6*FM(%9@0M 74($D;F+BP&G'DZG3A2B^8U.SS*R MZZ=3U6/O3??E$1PPK3@/^RN[,U4S2DA:I$("7=#"Y6E2P%(F ,.*0R0*08E7 M$17/^:9&#>VP*EZ)>(6;X02^/;PRUZ$VOG^FC>'M$!A>X;2Y#LO7<]^$8'J= M)^<\0D$^G1/#O)YWY[Q.G7Z>CMMBU;#ZM/VNUWNS?#/C-%=2(PDRD4E E&5B MGB$-D$"R4((BE,(>+94OS^SU'HS?5OGNX7&Q>M;.,[ZU;Y[;^\EJY[+>R7YM MG:NC1? SX")A^JJ5KDJ)6_O"J.FNOO ,5NOJ:,)7+G9U#H#+U:[.WCF(%5A7 M-)XQ C'2' )I]X. :/L'XQH!)I@I,DZ,R.ALN[)6:11CL)XVR";<33ZJ37B3 MR$K6J(9- WL4&[$'F),P%7?EV0>!-JKIV /B25F0EZ&.;4J^0.Q*B[(9;4J& MY0L- ^W+EW=?V?3G\VHQE\_[OEO"4"GS/ -].S_\Q)*;Q/Q:H"&-PQK;&Z22LKDC_J_@W0@NP1)['Y!+Z=Y MG<9!9Y0]VT'HW/5]#Q2U0_-EQ$9KG6L%N,$&$%P0P"$J M #(L9Q@:C,(RJ3SFG!I-U"*7X?&K,T:%Q8%.)]6=?O@FB#^G5== M=Z5SWI1D)K?V5VUU;I)R)4I5(J;27X=EK*3YGE*, MFQY_'51'B?!7#M>STX\K2OUY/9=Z1B6$V"@-3*'M_@Q) @K$VU4KHSW?/.\O M^MIN+'^HLKGS=CU?;N:RK+ Q$Y2D*"TD2+&T;[B4 M%'!AMUI%KHH":DRU#NJ_/)BD4R.,EJ WR>VW;^OR"#+9"5V5R.G!'H,L

! Y MQZ?U(>$^^948=,)K.SY^U=_RT2%IJE&T(FRNN[/WHOV*> M7X9AUV%HSA]D":[H AD,8O1&D/X2O%(OR&"(SK>##!^J1Q#+V[J:>76FNB]9 M]_RK?A!Z/8,*YS#5&3#0_D$*C@'7/ 5"(X,+CI""_BGE%R:;&@4VXE;.JX-R MD2$UWR]!W$UEL8$;F+.Z,$O^J,3U_#QX@1<0B!(1Q)'"3WH]@&&Q)IZ@=$:8 M7!ICO+@23VT.HDE\[XE8J.,WJTIS7,RYS"FA0!CICHME 1C)&5"XD%CK7!E% MKB[9L9]O:A0[+!L7OH&)MJ,VQ4VRES@NB!'*?/0#\_4+?GB!&J?X MQS%$O;8\$TA*C86VF]/*9[G;N[QX;N9&3+;L/8!#>U@USV$6"6G8P46H,L:U^@_TC\^*N2< 6@:A6U,(P#;N6.]9OSQMK(14#C8X\88;[2X\3]7,YSE5#/-@$ L!80B!!AA M"*A/&;'2"'O0ST(?MP]E>4= MF.)/AJ3NPP2;P%1']@>/0*G,35(J5OTE*54;.D0U[@(,&J4:2=0)!*K&!=TO M5C7RG/T^2'=+O?[VO.M/58>U,"E4:J .),Y((I!P#C! "H!=0:)I%E0?L/) M62;W"2B%3#;/&]6'P!HS M?C-/C16JPY?%7L H!UHG$+_J3.LZ'%_S6*N6O%W8:O"3K?-H#7NX=6+>*9QO MG8?#\XBK8X">/77F2VL3;9_MOES;)W$[@Y@5!&G719?9K2W6 HC"_D$R01"6 M6"H91$BZ>MRS]PC1==H%8+K@^7X IOH',&DUB-%#< MN_I4Z[->SU?J;JG>\:V>%8@3FJ4I,*FKG) A#)@I#$ 0>-D$DE96+%3)R<_H%QIX'L?M&CP#/PFQZ,3%!P7*?VO:+C3H\X6GA%"])XIQ_76LY+!X?]>:'+K-SEP;GBV>[8,\(*F6*#@9+: MA= )# 2A*2;Z)!*Q_U9I, US^KT3)1+37+Q!W>TB^P M/4ZLQ?4S/D9=J]$:=^T6IJW33;+3JERCPT/&1C/[D]/MIKQDIU[$UCV1 8_5 MZR>66.,V!XH,YE$WH=CC7UODX#V?K\NR"?7!Z3Z!S>X"Z\:*ZM/RBW9Y%-8T M?\,W\TV9-KPOPDNERI%,%8!9K@%AA(-"(0A4!K'BA3O-A/W*'T20;FH68SLK MWZE7U4VYJ8."#Y(T78WP1LG$1#XH]=DB"';*U5KB CK^3H.,2=YG3IL]1FH$^D_]/S;=Q>F^$.O^3=] M<#HZ2ZG&FL("&*-S0/)4 UY #:A!BJ2F$#+/QZS*YBGWU+XP+;&37YXV*G*, M2_QUOR;A,],IXA:X9A,IZ>8K]03B9@9; MBMCEWD*G[_>E>[M:/Z[6=G?6E%]OXFDPQIJYDZL<(D"(YH!S2(#,W#>+VC=9 M!^UPSLPSM2_)3LR;NA&#LVSU8OXP7_9P1)T#UX_^(T V,%WO)&SU6H@?:G,! MAT@4>&Z642GK@JHO*>;2Y7TK/[S5KL+/XL-2Z9__1S_/*,Y(2K "UE95@'"8 M T8-!8ADF5 :Y3KUJFEV=H:IT4!=Y:"6,BG%3*R2%49!@'1XG>S#']%[F,AKT<;U23S+\(WX*1;\/^)78#/XF ME[#4X@T6(GM2_:@!LH3.RD%#RW#[+, GJZ> MR+ .[:>Y'M%PSTH 1+'<(CY3CNO3" #AR"$1:K_K+ MBDU9+'0F%62&^)G\T MND2DGM_K9:JOO) M-/4N9PIB3HFB@&G#+*_D.6#8;F@4I4+H0DN9>?DF N:<&L$TDB;?G*BAV3Z7 M(?9CELC #4PQ.VEODAU\I< WB179D74C=,S<'F^$HF7U7)YQY'P>;PB.,WG\ M;^U9]:>).W@WW\C%RH49;/8!0!Q)A5">NM1"8HE&(U!@UZ=:RC23)N.A#(>7P+C:A) M,0>X< V[>6Y 4;ARQDA1E2MK!8;U(XN"[BAIESML5[MJNVK^8[YQ(02QT/6C MYBB8#4S+>[CVQ8F_7GH6@_GX(A*1N/C\/*/R\$5U7W+PY1OZNI\VO.[0:A]_ M9Q=:D_%)OXCD)HP6+.49T$ICR\5: >9Z=>F<8)3)C!8FB"N\9IT:;QP*7>UW M2K%#_5$^B/NZIB+C.+B7Z@R$@X:X!Z$4S37E,^?(7JH &(X=5B$W]^,BYU+_ M9-ZNM9IOWW-9EJR]_3G?S+B@12IS"2@L"D"TY-9*@0AP;@H#4_O;7(30S[F) MIL8X'[6K%E:V"TG^< (&GK:=!=2/76+ -#"A!" 43!N7U(_$%&>G&94<+BG[ MD@\N7M\S_J8L_;$[H"$Y08AE&G"-I'WQ+04P0060VB"HL900>G6N.SW\U%[W MLBS@]]7"PK7YYW^R#)?_6Z)+B0./O%Z@Z/>V]\=FX'>\$FR0DZK3.L<*M3D< M?-PHFY.*'078G+[JRI.GO9=H;\YB(3(M"06=^J$-?"8Z4JPQCI?:KE_!_+^^B 2^SSIU%2O_KQQ$M#R6KO!BW%.Y$IN9._NB)Q&L0CK[[012*TX.E');F^X+PDOM[C]"/# MVIWRWNK3] K_C_GV^]NGS7;UH-=W/^7B2=7MY>S_U#W_.=-YKI@Q.9 9Q(!( MQ@'+! 54Y$@4 AI&@C9'/628&B7>K[9\87FP5"20Z/HL 2LD1@@S8+BP^U/& M7)87R4&J)+*;4YXSDX>=40Z\"..<7AXLP_"K4)""9@5D@*-4 Z*U!LPP!=*\ ML(M#,YH1U_5P^[HKL"L9MQT8_5ZG$GUP]_O2#_Q$#_RQ;\XGW)1/_K0* M)(T&KFY"K4/2*)%8+>)]\:^ ,-)'OX\$HW[WKX#HY:?_FJ'ZI@^_6SF+8F8* M"DT*#9#0?D4(2S$H+!K /J8H(VG*$0K,&JX&GMIWNDZ)_:.2SO-4XPBM;OZY M!H.A/9J>ZO=(!#[4]8K\WWJ@D=-^#\4_SO9]\?OPU^WV02^5"YQXO^#?9B*' MD*,B SG$W+YO&KL&& *DE& ""P8+[97:>S3RU%ZXG7")D\[_?3N$Z_(+UQN$ M@=\X3_V#7KB3NO9ZXPY'&NV5.ZE ^YT[?4'?XX'#[HNGW-E(094)Q $EE &2 M%0P(E_!FF(88&25HF(?/8\ZIO:@OVY,>%XJL:L;N^+0 M;O>SU4MNURY95S+[O;E>$'>_RK&!&]KD=Y(F+5%O=OFI-TU#NHC8J;KE2AD? M.QJ&![-.%$MOX@P!IV)2=T=)EFF&TY(PO<88A4%#M&DH->B>/ASK-G1:M?H/ MV]W%!ZO&TA4C< TDK(997;&+2Y93G5O"S;+4U4%2@$/(@#:IJW"*4F.\ZID& MSSPU]JUE+UNTA#!&"-@^U#L0A&.X7BQZI=QUK>ER4[L3O00V<<)?+JEV)LE[.-5LNL-73>AAPPX(KOWT/.0ZOL,T+-J-=]\OUTJ]Q\7 M]ON#+USVX.WV+5^OG^?+;V6"]XQ15[&!8R!-8;>^,(5 0)2"'"-IN,(D-5Z; MX*!9I\;W3MKR+9'N![V7.["4M1?B?IZVZ#@.3/H[",L?6B+?)'R;-%)7U1XB MEKT.02E6$6RO.<O%&K\E9-/&PZS6^S(1 M?+]Q"*.KH$7Q8ZWH&(]#7HW8KN=T+5ZREWQ7[:JDMD;\>"36![1(7!8T]:B4 MU@>4E\S6:XP!$X6SWQ]8=4YQ<\MBNRE/0GY48F.=D(]F M5,OORKZ2+3(:0VUU@4)HHST4 SPC&8!0"RPISM+$*[FQU^+C M&>RQ=+9UC=6SVEPOTVZ"$92_D97#8HWV8*^B!NY5U (A:LOUVINV MKISK\(]JRCE?.'";>6-W";8O]AQM>[V2=C_[R9KZM5#Z^>'34JM% @755"<@ MRW@.4(PE8%1K +-,I!GAYF,OG7&P.3>EJ9!%#P9:!*(7Q3:>!UTN/#MN&(=E M;^Q]XAKM57F(OBW/NW:(KZ*:5PLZX.ZP.T.A-H4=+$Z[%^Q.P=$6L,>E VM8 MKHO"9HV:]U2U$B\_LD=VKXJ[]?/];]OJP#=% F<,9R#G/#-O06D&F$@$4.:E M2*1*<4Z\:NGV6IR;WM0(HZ*$Z%G1LI=>-Z$)2MK(,F.Q1BVPQI^I&:SP7H4^ M1G]5/I YL(SI)8Y@D MY@4)"+\2N>=MS4U/=E"C90NKIZYT4.NH*&$(&UM+ M=ERU88[0R=:!CE#JT6%I6MWH'_*18CA<,DPK#@YTFO8!9=\Y)?\67YVVQ M-4ZKT:N%YCE5.N: Y1@#Q$4"B"WX+Y%Q5D1.,>1>^N%I?VZ:LCOS;,Z?BQ)Q MM-Y#-N]*LAJ-G]3XS@R"!.>YK0G"B 2(F9=3KFD.XCQ-!92)T%+X;)B/.3,3 M[*.[S9D#J4=W&O:C[UM2^50)I I7(04J@$3><($ 30@'5&6>:Q(2FV#G' MZ*2)N:TL/[VRVD:NY4H##DCBTV#K^DM-205Z#0Y'CD_%Y,T47+/ M(5F!\G8ZA]^9H'/ZRNDR<3J1OTJYZ?[F,&?[IPTSS[2Z,]/^7-3%R5+-&;&% M6175"*",,$!)(D#*H#3>M("">?4^/6%C;M)60XPJC)[5W;JX='.T+F1H9'WS M)CB$>>C9=7QW@O32QXQ_7F\/T[&*1R@3+5%*08ILH MS1@$A,,<< K3!"-I9,"I;%6OI;D]\#:JT6-Y[B31P84)1VZNHY%5=-KP4@&)8YMQK%M\TPR# C"#&29$$F: MY[%0U".];S@2IP?A#9+\*N11'2M:U0.LPDA%!3]B)7X/71DV4PX*/1[Q4\6< M5KBC=\T(?HB6JZB9@WH4Y11491CK@=0%!4>? @_-'WTJ)EH,QIH2O\7B(C8[ M5Y%A=YYN>;EHY*_6G-;;'H,[D:6$8?F,2,5GO8E:YHV,6]4@MJ7#,^&,*$:8A[5IS@; MK;Q@+,E3B 6 %"* C,<">$YC &7,$\4SK2$+41/G+(*YOBR;&_U6EH-8Z^BI M!E^^&Z@&^85%<<[/B9N*!:;X[0KB'"0_7+W.?ABQ'$XO86,5PSEO^&U+X?02 MTEL(I_\.PQ3M6LIR6Y$]V*3RVU6=V%^?RW,&"=42 PT5!HAH! BA!*22T41S MJIB?<]5I;6X>U1YL6?X W*Z:L@=^ M5-L9LF!2-N9!DZY&RYXVR$ &8G4@)) M3;>M2=7%:=B'@N)VT4 -J78^TY3BE%$!D$IL3PY-C<>39P G2893I422>47! M^N]W3E(DXLNWZT_1]=W=S;<[3QVH:,*Q2HDT;ZA$8]LC'35-4;62& O$-/;: MU1I TQ3BZ;';?D"0HR+.[6 BU&;VZ0&&DK$)]Z9/#^1(F$+L(;].ZUJJXM-R MI6ZWZK%80*F@DHA;+9+F/2MF%^9NGV!@EJ/\\FW>GF^_E.]9NEQ-G.$>*$*#BQ&@%Y0I0CG*04I5H+53,4J^ T+.6 MYB85>Z!1A=1/',XSZJ8-07@:61J.*!II6[B7BT#"<-[.I+K0.]Q#6>B_8.A& MR+^?BVVSZ7+Z;:G,MN&L4/+#^M$>=[&J^4\5G*7JN/6O:K-H00X"0G()8JE@1"XXH(O[V4<0'/3J/*!BGE8"+1&DUS M1NZ[*3/R=+ONZ\QG$L=^/_IZ^^&JRDH$[\M9;(KC7V\VYHNJ*LFS"R:RD:4? MUL4V:HTIY-[1-,0'VWX:&>[$.UC3D'^\"3:1W6%+T$>VW)3W^=D\ ,^;JM2 ML?&\V1@GN$F5RW2*TUR .$5F&:$X!A3I%!!$\RRE,HVEU_:1B]&Y+046_4^M 323">3D^J>#PF'VN5U M[IC_]F,JFZ=&DL.94HYP#CG1G6D!E0F A!($D)4G#'IE 3>;VIN M6E/6?XG6_&%Y7ZX$15D)V@8O-+']3^N-?RN?#J[=="8,@R.K2Q7NW4)Y%>UQ M!@S2[.4B5)3F>4/3AFGV#O@H3K/_BF&B\7F]587QY!E_4-_6[]GJ]P7$"'*H M($B9-BZ*RC) B(A!0G$"<1+#7'HUCC@V,3>1*!%&3Q5$/R$XP9^; %S&RL@/ M?D5(C<[&)%E\X1[X\V,/]*"?,##I WY^@(>:83CI8E+ M^O%9+;"@),YQ#C3)4X"(HH P*0$5 L5*$8)3Y'/>[VIX=A$!9=N(LL>5E8!! MI0T=*7<\:AN!R+$/WDK([0XR=6>K'>XKJR)D+!/-8(2( )5H:=9((*L]) MVRW([W9KJ]Q5:6./MGOP V()7>8B)YHDA!- ,K-8H!A1P$F& (32K!.,2I51 M[ZC5T',QF1?[MG/A>&8Z L-CGWT>5LBYBEZACKXY<#LL@M2#J) QIBYFIX]" M]2#C9)RJS_4#@].JFH>_J')7>75OV[P^K.V&_SZHBB4L(78?7D"[OT:) BPF M&:!08Q'K&&70JR&2@\VYK1PU9-\X-0=RW30H,&4CRT]3KW4'-]KC'2N,S9V@ M4 %M#A:G#6USI^ HR,WCTF$Z8^L"VG]M'J%9[ZO#Q&*[68JMDO9_7*_DZP]: MWZRB'XZ+Q=3=@6_^$+_9@![;FOI&FQ?M[4(F,%G3PI^;K_:AQ&=K+ G;M-JF]98_J/T8_81QXK\&-XV=[QR/+-=V M*,9!M#/:&I'=>6@&&U5?L1-_\.'K*RH6HA,%NLI N[J9=T-&9-F(*CK"K01O M,XV!%I6)P4^Z/KW-Q!PN=6^$8N!AM]I:!%\WZ^_&]Y?O7WXME#'_<6F;!1B# M^[;WNXI;&!)-&"1 B=RN?$@!;CX"&=*Q8EP+\X_78;@WA+GY[A^N[_X>??ST MY9]WT<=?OOPA^C^\^)XR#XJVV,? MPJMMM28T\"/^$KVS(S"NPP_1;A#1?A2CU% ;3F*HTWQ_ -.>]@\FZ"@:8/B= M!O956*_E?YWY ^JW"NY?7QBRTU9=T=#F&6Q2$$,)0-(IG:/ MU;8O(S236"0L2V.O1@L.1N>F>GN@53%@VPFQANK9?<&%<3=U"\WCR'K6P"W] MWA:?U>[J;3^?_@T;/ @*U<'!Q>2T+1T\2#CJ\>!S[3 %LN[@]L4F:ZQ7YFYU M/Y),$FI/TT".B3)NES"2HY,4$"TSBF"&)(4^DG/2RMPTI@(9[5 .[.]RFE$W M2;F8IY$UQ)\B;]'HI""02IRV,:DL= [S4 >ZOSSLP;]=V03@]>;EG^O-[[92 M]5JHHC >T!=M7AC5YKLJ%ED2TQAF"C#%;?4/C !/L 0QAXDD).Q59O%4Y^Q+Q5?2Y2O]H4(<3#@^* M LF(B\5)1<6#@D.)\;ETX)E)75GVF3VTPMTPY SG3 "=VRI>!&> Q5J97S5D MF4R5@E[9#B>MS$U4]LBBYY5A,%(KM;E_L05=Y;,H/Q?U.'R/(DZ2['AB<"EU M8V_L[_&U @8#;K5WC3_4COA)&]-N7'<-\VA_N?/+?D)0;+8+VZZN3+Z\$VK% M-LOU]1_+8J$TX3#+,H!Q#(T("-L?-V:VJ!\4#&^@NQYH=Y"'N'5;S /=_ M<=@J?J:A]E$G[?>L6(J%9CRG/(V!1#$"*,4,D#1. ,)4R(Q(NX'IL[I[69_; M0[_K-L_J;O-%U6-^O<<= 5NB9RG\%GV_.7%S!D9C>F0AV9%< X\JY/:5H\(> MM\[V?9V(0:Q%LBU\+,]JMGMEJ:0G(V]3SJ0+F?!<>7BA+842OSY?OW]+^86E:R8'_9JTGOC283#=7B- M1CA_?YC3\S/;_*ZV-D?\SI:,*4^ ?UUM%'M8_D_)G]AR9:*!) MDMABR1!0%F= :I['&84TSKV*2[F9G9M4[!%&]P9B].[!@/S!SZ-Q)-S-E0E/ MX\CJL0<F[]5*<2#6WUV2+2350NI&=D!=D7@JC@!5>+CN&';NG9LO VS3R/AWBVC>>) MKUY8I6%7(G,7>JE)3FFN!4 (*H PC@&7F0:()['*((\E\DI_/F]J;IY%TVVR M!=4EXM*78#IIG!VP&=+*)R_PO\XQ:;1 MKA^6TK:?+-]_C+=1!QR)W+QS<*,+29YP\S*2"D"H8D!"3+.H0IKP.8/J)N. 4IN/FDQW%] ^P?1[C\&T_ M"=C>J]7BY@^U$+^IN4E! S8JT=IDONH$P-ME<&"Y6Q/"+;GDU64RC3T MO;(Y3QJ=-=:=F4IG[?=+$8WS-"Z%U.$.DXBI^T@:0?6X8F MD>;T_/USL5RI MHFBJ9I0A%QF23$N, 504 <1B"6C".9 J3ID4@AOWRZN*2)>UN4EK@\TK?,6- M5[>7KV!LC2RFKD3Y%PAQ(2!4:9!.6],6!7$9]E$Y$*>++A2)3[N&CC:H)5W:7QY?H!GG_+C;P[,C"NVRT=SSR]ZUSQD]\.^HE#=W09QXPT0 M*$%N7ZZ03%+ 4AT#0AC6+,L3B:17PIR'\;G)08/=QESM&^2T6PUY)M3Y3(2; M:(Q%[]CO9KW,CM![: A7H?+T?$Q/F[XW@)2CK+XA]QCHIMCWHO>';=E:G0/? MO^R_4M<:O_XOV\@O3^6IZC]482/O5O+FCR=E*\E\6]N/6E%W53C> N5,QAQ! M FGQOE!.2 P20#,$50QT3&17H=34P&?FX96N,M4?54CMQ7\OYN/HW=5W+!G M2,UD?P*.;ML,)W9L9[#5O+,]Z'8'3UMCYF233SMTV^"A;J+5^ONX:?U]V(^O M7D>C".G>VK[ \Y'/BY7RZWZM/RN6D4T6KV\ MKH5X?GQ^L(^$WQP.4@5B<1(Q6(G:$:,3X*U44$8C8'G3$6J@]C@F&SI'#N9T-![3W=:=.'H M7YTC77JO 8G0=4KFKZO"K'Q+O52RCB_A>2HA5?;$/LT LF6?>8(H@$AB 6%& M1.Z4,]EI96[O._O\7^]0G?-,=J\.P?@9^[7!F1J_Y.B^H5^2('WVWM,E2?<- M[U6B=.^7!_B=E>>ZUC=E;8^O96D/FY!DA*:X6S_(1<:R#*4Z!5F"$X#2C .2 MDQBD7%&:IWDBW7()G:S-[8'?I^6^JGUB0]8+BSDJ#&@/YZ67;0=7,22'(XO" MGKX*;+1#&Y5PH[O ]'DX>2%IG,B;NXQ./Z_-E9Y.]ZSW)M/Y8:[C>>5P.5\T MM*WVJBR@M'YX*+,RC**I8EL?$<49Y!Q*FZ:I;,\RH@"/.058$P0Q1TQ1K[.Z M+F.SD]U76*,&K&_3[0YVW;9_0W$VMLR>IFN$4S870H)UY^XP-7&?[OY!'W?L M=KCFG&JTY^N3^>EO?VH^,?_AK%!_^]/_ 5!+ P04 " ".20I71I'2@XA\ M "*B 4 %0 '1G96XM,C R,S V,S!?<')E+GAM;-R]:9>;.8XN^+U_14[- MUT$E]Z5/=]_CM)UY/>-,>YRNKMOS18<+:.N60G)+"F>Z?_V BE#L"FOA&R^C M>ZGR$GX) @]! ,3R+__CS[/9#U]QN9HNYO_Z%_Y7]I3K_]*]_^=O' MG\']Y7_\VS_]T[_\'P#_ZZZP&KZSZO-'[Y=I+#>9?KK]]P7_] MRVIZ]F6&VS_[O,3RKW]9TS^"*E)&_*_K_9\7__#'ZV6_+'%%6-EL\RW]P>6_ MKZL<3 +^N<9YQHM=;1>8+=*M'YI5GBZN_N4L1)QM_G12J9ULP?MBGE_/U]/U MMS?SBM0-?2_B:KT,:3W16@>5N 83]0:/!KPH#KPS(YS8>[4+;AV^ MG8S3J^]_I)^=^$*GQY0"2D9&Q\-P<#(%T)85:VTT"M5MJBO_5R2 #:!6F/[Z M:?'U1_KNCW4G]1>;+6VVUVU3?E/*+9?IAL?NORW)Q-J0(UXL&'+T0%VWC+S\0-PHNEYC?7DAKYZ8W.UZ3 MYL7-3[9 PO]['I;TQ=FW#_AEL5Q/,*FB+2>%Z@/M Q6#$.BWM"%F:$?HG&\" MBCL+[X4/\7SQ<0J?.X'*>UQ.%\2B_(IN\0DJ[UGFLB(<006C(49+7,& HG"M M;11-@')KV;U@(I\O3([G<2<@^;@,\]6T\N02Z%H91C89@V*U!V710M 2(45O M!&IODLMM;ID[*^\%%?5\H7(2IT=&RP57?I[.\+?SLXC+2=1,I!(5,"W>0*#?*DL:7BXP37;ATAEO(%F/=CH1HG(&49#8QH\%RFF&R!Q%[X<<^5_RT MXW\73& M8\(&P'E@Z;U XY\K:$[E=4^ >4F_?+?\N/AC/L%B@C3*T_U+QIE"\O5L:G%AW5MXOY <>^9H.9+1/6%E<\6^6[Y?+KY.YPDGHD09,_,@3'W^ M\))!L#("NH*:&2:M/BUP^]CJ^Z'F&49RF[&\)^B\7ZS68?;_3;]L3+.0A? L M.6"J)%!.60B1E*4RTDB&.7(NVP'GUMK[P>89!G@;L7MDT%0M^6*)84,W)T69 MHE)@HZQA1[+ER:!7H$5(I"B%HTOU))C<7&T_8#S#D.[1+!T9"O61>?;^\V*^ MC2 Y6[)+0@)/=';ZL M++R(.$_GG^H]>;Z:2#0$:69 Z/I0$4T 1[ &]);':!7/H84)^_#J^\'EV<9R M&["\"^B\F=/7B!W3K_@JK,/EMB9*L)"Y9B!J5%H5ER"23@233$PY^;81W>,9W 4^?C\+L]E/YZOIG&SPB?#9\,03Y&B)%=H7<"$9 M""9G$[0QBI^6PO+ HOOAX]F&:X]G'V&RT]T=?ZR7/RQ_OQRGFVD]G2&=X&;WS_C;+:E M'CDGY:<<9%-=..$5!$E:T:D:9B97WHD64?V;:^Z7%/=L([1'L[<+99QND/87)8\=G+URWGZ>K%&;_@6%YE2(:'#,8'20KR59W04'4 MG(%AJ(NVIH3(3P+*KI7WP\ISC-NV8'4GV;C7F_B9_F0UT4ZG'%,"E;,%E>B2 MC58:$+0EEUCT\<10[HZ%]P/+,XSHMF!T5UBY2$"_V 03F#)M +1V$50('CPQ M Z1%;[/.S)P8:-FY]'YX>88AW3;,'ADQ+V@'>;.+6?@TT59+R8H%5J0DP]V0 MX5[CTBY8%.31)W=[ O@6CW_UJFVK2PX@_L=3T? 6?0O@RV:2= M5!"\*S]/Y[38E)3$XJ+*XPIAG.2?693 @DPUYL\O;%(Q3L3H8$K:ZI@&[1[Q^;E-_::I?;4)YIM [!\Q9 M3[J7]*<3Q!D;8BXLH-/ZL:OH>,S<(61-$DV1UR0Q0&0-*FP*Q8 5I=2<+M^D M'DMA. 8[>Q'6 Y9. L!B:&ET +$7*=4*F-4'3$A;BC/\#=?;YW9NN J.S#@N M$^W%"(20501FK? Y<#H[32(_2,4VD_'*":\;X#')&UN6'(WZ?KSR_/ M5^O%&2XW'+NQ)6UXCI@#:"DXJ&03A"A%[6IC.9*VM_RQ[,RC%-7WR1JG,'] M-=58$B.":^.[OB;G:O$-R7TC1Z6*Y241,+W:2M8US* ]1,LB^9MT1((N-;E, M9.9+SD[<>:_:T<'F\77&J0 MY?9N_?E2%:ZNH)YE25D9X!L;K43:7,H63':.HW1!^=:^^AYDC5/$/QR*6DNB M W#=)IYHYBX5!DP[58W^ !Y3K9FP,LH031:#NN\]6,;MW?:#V'H\)A;K,&ND MSJ=K?#O]BOD-B6/^ M:1IG%SM9U1-1 ^S&:P$\IOH\APR\M Q,Y%HFSHQMKH8>IZ@'B[D)BAHRO@,8 M_;)8Y#^FL]D$'9-*41Z$(8XD<@J\X$,]Q!*T,BM>;1_YE'WT$.$ MC-.J:HC[YV0V=X"5"_HG22@9&LU!AIHBS02#H!0#KJ-2WNM"AMU +^*W*>D&3"?)><>#^ E,[P,ZRW-: M]1Z/)L9Q6R+GX,G9HSN=97".>&,C*F7H>.70^@%\)S'C7G;# :@!ZSO T*O+ M93_@5YR?X_6[?>@D2-J*C\E!W0'GGL5<6JN?ARD9-WP\$'H:,+T# MZ&R\R0=.@';.L$+$%U;]R1A(B[J$8%'RY%+DL7GR]0Y2Q@T<#P2>%FSO #W; M5ADO%V>1O)!-8BL MM@2+R!+CY!%CZ]#R\=2.&W8>"(-/)+RQ,\(>V.:'6@8SG_X7YFUS[G 5?7^1 MR,$A$LGMN>D$K5;G9YBO7.T'CJZPS!(/-"3-S$5* GG8 H).&!,S7,;]4LN> MB.!QX^6-,=VMI#M0T@_L(%N5>,X)2@;AS3 M)PF3G2B0#I31':_IQ@M6E)BTH,,A<\V^J57 7M38I^0;>KG3"*9(\D'%CHX&S=)-V@-;@8?87W%P:QH$RP"XTPH$RSF1P>_G^BK=*-JG\0S M.8C9'7BYM:WF=%T3:"I_KNZ*M-E*L@Z#<%!R+&3!)/+5R1@&QZ0A&]G:QT>Q M'E=YO).<;C37<#AJ)8P.],\=KF#A*>7LP,+X=!S LL[ ,PC3(G!D>N-GCQQ078!5PJ<1@XHE7($^UI=W1@\)Z8[ M#A82.47&BT$8W@%T;K2&ON@FXXP1Y&,KH+LXU9+K C$("S+Y6#3W5MG6!L]= M&L;N)M9&M@_<3TK@^.EBZ0!FCPZB MJJUQ8JKO_H<\X1GZ5Q !HD\8E#.<""71@/7I2B6B$?-BW%WD#*V&_#48#I" ,]V-,?[ MC0P^XWJ:PNSV;EK-Z;B]Q-,,[7AD6T\YP<,HJS<-8ZZ+LLJV#N/L(.7T:/_E!S_6 M4.^$%Z^U# J*0@_*<@51TCEP.CL1=,82VJ=2W:1@7,N[A;SO!]N/YO"(=]=J MN:Y-P/-Y6I-_@,NOTX0O_IRN)I))%DF(X%@A[>L3@D\B@V6R",853V:O1T1: MX 8ZZ'?7R-BU=B=>V1%R7#1D:A^@V,3J+W:P>K4X"]/YI* OMI0(&2-9]\5* MB"H%NIQ],&V MLB/4AN]F,P>9J1P<#Z;UX]HM D9'QZD"O3^AX4CN=@"-2SY<$A^MD9D;2TX< MMZ!"LA"4+X"%F<2-),$V'V!\DX!Q(C+#0>-X[G8 C==S7'[Z=GL+R6?NO:W5 MID'67G$!(I,9,"CKDM7!AM8^\@-DC!-L&0XFIW*Z [!(;^N5J(IP0 MVG /1GNL=AF#6#2#HC%XH:4PL76P]SX5G<1XC[=4&S&X XA)C[5NE_ZO_PQ_#F11I*I9ABD3:%QL;GVBV>@&5.,A\@4MGZ/.X+,3MRA M(Y%Q+UM[6#%U@,27B]7Z7:E32VXJ\M\7LSQ16;M0NP,BT0Z*&22U6W-1I$J* M,\V$;9V9NYN:3I17&UPU8GH'\/EEN5BMR!(HT_6$;F=4QE8^*#+W R?D6W1D M!3#)L_%UO&-CO-Q8OI-7IS8 .9:M'60:7DU8NQP!>CTI!9-,V94"UADRXUA1 M$%#GVHA1:JLT"^U[.^TBII,7I39H:?L7+ M?4W0,"Z+8<%E&>BJ%2$I+1UOWK#I.R2-:^XT$OQ=Y=-0"AV ZG?< M% A<42]S%-X:2+G00K+9:+(NW+1PXM/5#+!,RO HU2@H@@0N!P1/D+1,WQ4\T,^3@ L+;1"/KVV67CN(DG M/1CQ(T;O.BH6%UJ@3Z0=7EW?T]JT\7 M@=$%4'&/L9 FMJU?X!\@8UQ=-50XX$@V]X"4VJ'Z@GP" M_[VC%77$G-" J.=+>63#%>BU >D_WM3<%HC,"=*'C$K,7[&Z+OAU#?QY=9N0044-A+@;A M; <>VW8S5^27+&3T=%RLX:"XJY;JQ?[I P%_ M0]IXS9!2R"1Z+% V&5*96.NLR9 C.NN4R,A;EW.UHGWD6--P:!U%N!V >FN. MWG)?:#.3G!7+62"8E,C\$#7_!I&3/VVS+$7DXEHGO^VB9=S>?XV#"TT8WD&$ MZOIX;+-#I_-STO'7M;\_85DL+X\1G0QL.8 *(415(#'N%6HIHVO=RF' [8S;+; Y?/L0>P>J\W)"[H;!=2(5_8,9 M;?CR2/^$&]H5#E'Q L+:I 59U]*V'E:\%V%[H=(_$U2V M%T4'^+I(?]V\7M %8+0K'G0V9-F4;($,9 &LU- )!I--ZW:"UZOO%[]ESP0J M1W*U@QN7C(0;-ND^K8"]T865)"$F1[8H"Q%\T@C9YB2)458V'TI\,)'[H>NY M%,P,*Z-^PGRW]CEANK*%#%8G:M-679MM2L4!D[(E,W*$FK<+O$7 ?AAZ+L4Q MQ_.V R6UG>NQ[5AX/2:4%6L]DV#)H2&<8X!@E(44M"G:Z#JGLS%&=M&R'UR> M2ZE,$XYW8.[2TG?<++I%WB7Q^A^"TQMA6#),PBA MIKD&3'6X2X1DBG>8%?VFM?M_((G[@>^Y)) .*9_GVJ+T_@B8J[^]O;5&/4L? M6^])FICNO>'V,PD>F>F#I-94-@%\Y)%@G1T$:06088:&KEB916M5L!=AC3N> MRBBM<=: DK;0?X3-G#8)@JQ38U.PDK?.BN^IXVE[+'RG_^DA_.[@ KVB_H(C M]=U^,:_'=M/CD3L4/%H-2=4=,5L'B"I/FV$,:3=)E>:=ZQXCJ!,L'2'I7: Y MF>T=8.C.'BY;MXED3:HM&[G/=)77KFW1D#/CZ#Q%D8JPS5LM/TA()Y@Y7=!W M7<>3N=X!=&[TJ[_LT%>8IFL.G'?<[@-+=L>F7NQ ^),L2 VMJ)QKF CBM$9@NW I4TOC6WL##E(Q; MFM$>/ WXW0%J'GYRONI G&QAOI:H.;K%75;@+,^ 62+Z8@+/K;'S&#WC%ERT M1U SWG> HP?":TJKH@UI34V@)]\3R?S-,2PPI?X<5_OYG?#UQ\H+/P\V+Y1UCFB5'))68T&*>)6RDG\!@0/%>: ME<*$3ZV+OPXDL1,/[$A$W$_;'4P\':#O@3G2R?"B5 !K-Z,78B)F^0A6TDG4 M/*OVTR6/?!09"D&#BORN_CJ)_T<#Z LNIXL:M%^N&]US=QE$3+SH/>IT\*V*>7=#Q#?5J;;[ZR&58\<4I9 MQX,EFS:YFD)$9U\[27(B_XG'K'1J73HV])[&]6^?\F1TA8X.3(M?I_/%]JE)/[GA90FV>?,K=7D&G@/RI SZ5V,D'.PO&@7 MA6MM\;:B?5S?_"G1/XJT.TWKW^L&C)&;(#P#GNIT7O)/('B>H4YK<$&JW+XY M\# E)H/E)CTE?(>5WZDX;5T5IT5@03)?)]630RP".<2<>)8C$JMRY-@\(_/ MJKC!.B$\):B.Y/C1=_=77,;%8(&!()VS3$I G>L;HHW@I3& (BICBR2?M;7" M.BXP,%A#@W$# X?P_T27Z?6\C(9A@4,DW13C3YP3_#*L/O\\6_RQ&B0#^/KK3Y+ONV,S[;-[ MKQ:Z2N24(D:;%$(2T5PDN4./?3 MM[\1V]_,K]HROTCKZ=>+_DE;#G#G':O#+8(MD=PEAA"%YQ"=32PPYG(>H%+] M0"H[>1$Z%4$/. U#BJN#&,X-"S9YZY+/"H0@,U8I9R XCB"4X$5&GF/SHW9H M)XVA #2TG'>[#8,NW_K@XE)6UV-(:S0#-15UMK;?D M 3(KRANOHVK>!VB(?8S[1/3$$!X="!TX0+$!D',MN9$!=>N&;?O0-:Z^'1\]]UK_-A9E!_#\ M?I=9D[,13-6S+Q'4QA6LF;Y*^D),]*9]IEJ;IK^#:='N@-E6B/T\IVS;:MQ^ M)YT$48PQB+6_9Z(=Q0+1>%GYE1@73.;F<>N'*1GW5;L[̥P<:<<.M%1'^ M\V+Y:G$>U^5\]B*EQ3GQ>9(LMUQCKL&Q&IGRBBQQ@;07F;CQ$6-L'?U^C)YQ M'Y:[ V ST74 P^\,H,QH+>/D#:921YKFVJL[^=HOACG:#.?(6OOA#8: #O9( MW!T4&XJOG_OXD-D7W!I/FP-C5: -1@.^, 56R\*B*3G+UCF3#/;VW!U6 M!Q)K/[AM-IP@&55<#AJ<8\1E@9L&7190,A^RDR[$UK[0DTZ>&.S-O#O,CP*) M+A* 'A]!K$N2F$6$(MVFK9V#*"0#QZTOV8O,TA#>_FE#H =[.^\.MNV$UP46 MWYQ]"=/E19SB#0@A%)37U#0 MH:-K*)$;R0T3)4C(DPJL=1OZ?>CJK0RT"22^"[P3Y=./\_4 ZOM?;VO MU43X@@R):4+5&0X%,]DMECA77$HNH,RL]5S)[U/56S'GT\#N)-GT#+JMO?SW MZ?KS2[IUZ'Y9;C@YP=IAEK8"V3"RFH-*$&H1JM$A.A'J5*W6[0X/(*^WRLFG M@6$;:?7AX]S;W)OY5V+]8DE6RT1SYQ7W%HS1M=A-,?#)1_ \DOVB*S.'!]\- M@GHK57P:N!TKD?$5WF8$^OT-O5\B.5_;$:\OYODBWG4QYNV"E1.,WG'/-0A9 M8[FU(Y&DDF1+V)C!D]L/*A;CLLL1FS??WH^RWHH1G]#6.T5&G=ZO5UMZ.PUQ.KL= M'C!,(==D/TA6:D\ZY!"#TX!>IZ #+T8-[^0^1N'( _V>4TSF5/EV'9AY'[YM MO/[(A6.)Z=JEOD[9)-Y%GR0X8[G+6'343Q>5N22JVY#,R8C8.RYSC'AZQ=OR MG.BXYMQ$&:=8*4@FL"'-SQ@';Y4"ZW*QSEDCG@9R=^CJ-B+S)*@[14A= N\A M'W^[P6\382R3C@P/@35=CRDZ8<9$T )K>I0HSK1N@G4@B=U&9H:'8SO1=8G, MFW[9S2.7E95): -2(FW,E +!N@12*.YBLAZ?(%*X@[AN S?#H[&%N#K X?[% M>1/%-7>U6V(6.I.3)C4$811X58QQC(P0,UZY][AZ\8E+' <26@>3J'?LK(9* M5SL8J96-:((#SGKLLN!LUP ZQN;=-,Q)4C9) MXSQ(Y>G,>2[ 1[+&+2N&YQQ2E*TC/=\EJDO[\)*(.H+>;D54V1G *"Q0OZ/P5[9FX8SGN M2(HX9O5Q"')/(YLNGJ;WY^A$>([2L?KLGB*H$NI,6"FJ+>QB\D9;WEH/ M[D_=N.D13ZP*!Q):OQ&=GZ?S,$\['NY5X%G[ ,;4;D:FMC=E>I>*9T@2/+L M!4LQ8O,QKGM3UV5 9BCP#22T#B[>NJWZ_S76^96\JTU95QV&D\C2W,29YOGV M']SXR8LQ4/=?/2\+:%__F3Z'^2?\0+?0ZU)P\[HJI/<:*SLL**U]%0(#;8E= M/)'US'AC2#_M#L=US0>[\#N&R7,_1!.3T7JL?3G0*U R,XB*KK)LLXXEE\"$ MZ.E,C!L*Z!/B!PFQFW&1IVU9,J/0)@;<.[KI,@O@44A0W+B8M>:TM6>'V\%" M!9WB]A A]C*SY_S+E]F&E6&V9>6;>5DLSRZ$N66JT])99C)X2?>'HCL#/*?K M) 5C=.TM6[#U ]*>I(W;\&HP) XAF X\MNU6:CB8?GD=;9OG!QR 5]-5FBU6 MYTN\VF\(R8C$%9B$_G(L:N(2M+&!.YVX8:TC5:?2//(\E"& ](#:?#*I=H#B M[?-%G?9+[NQ$2&.0H8*&,&,%J;V+RX%5' ,7#8:K'?2>8Z87?/N9[=)&#<: M-3*6CA=&,RRUG4[W"E=I.?U2O[(H\3+W*3#F?3=#,H&C$Z%6H) A.UV3/3I'B2A^A\(NB%R%CKD[N; MFI-#ZV%-A^I=N M5=-&^O="XJ7 7+:>JG[O?O88U"P53X18\,Q%4- A!T"9U$)H+17_I M6FO9G<2,JV":X."N>FG#^&[UR54WN#FNC],BM[[01G?L)JJ1QM@N\>T!Y]E* MZ:TBAS?+0F:GM X\N;WU/U1465NF6L]S>82M+L8_2,W6NG#2;N!U0:2:!3'7*KS#'<*',\4J,\^KT6 M^F5_@AMIFYV%H-?XTE%A9&2:YDQ7B2]D_Y9,IJDSTJ:@,G>M#^)WB6J0\OKP M @^= Q%=\HE[,%+6D76UQ8\O$:JCCT8%;5CKP,HA](VKF=KBYX%,V&'DU*F^ MNEMV2!K@1BN533'8Q\]A?C7JY"BCZ+ EVEA-)VRKD:+;?IQ0=)>L<=7=<"AZX-VTJ80ZU7BUS'517L]Q^>G;19WK51-< MTA);=E\/,3I&Y1V\1@N==]K&&BF]"II%?1 YQWS]>D'@O1B'&F:_+!?G7ZY? M29S,W! XZ0HU"(K 1(!- 0RZ'#W]F7>M\QP/)/'DX:FWOGJ5F/TP%0^=.:>0 M2R_HD)5Z\#0:\"S2Z4XJ%W+$9,FM,YQ.I7EHAZ#3)(4-;Y(@S7VK8^C[/FX]>(M&0_Y, ,%!9#=9\B..$=6!=20,UX]JW3%AZG:%QM MT* M/-EKGW1AH(JBFT8X#LYP6:,&A665@W"M SNW*3BY/* ^^GQ>S.C(K2Z_/,^; M/]SP\ZJKT75(-V)16AC 2'<<85J DX:!I3_#XE/TJ?7[_Z$TCOQ,=SQ"[I4( M#"F<3A7.S^3,_'N8G>.OI$S)L-KL\!A]\_"'6JB;/4ALI&VN5KHV-&]TN\W> MNF1JPH=VM78Z0?0J0I(QLD*VIO.M=<]C])RJB1[Z]C6RO=%,\5J/+KP%Y7B& M(#C=K$J338V(1;=V*Q\E:%P=TPP7=S5..R%TJEYN-L/8_/H8U7+_(RW4RG=( M:Q7/P;A^(,Z(0CK-E81(CC/9OL9!=,9#QB2*8MQQWCJ7Z&%*3H[.W/KJ-7:3 M3C)A],"\I,O8"+J',V.TWVB"4'4JUK ;[$1U-)#_O9!) Y9WJBYJ;M_T8HA6 MF.>+"!#]0,T+/T9Q//:Y%BID;W(;*9,;ZY%E^O+F>@_5[>A(YF\*$!Q64YC< M;:\X@\(CM]XH%DML? 0/(O#DTM?KQ6ZM1"O_IL"HDI0N@%G2; MYI+KD>,0?&:>R\B,:U[H>A"%(Y<<#H:M>\6MP\FM4[7V.WXZVJ^Z^K=-(CY#][".&9FL6<$I\?HB05AE+H#FF7 6N'[Y,UK47N?J.)-GF4L%9:YLA>2$]1^-,;AX9W4'+Z4UC;G_W!GR39%$Y!%9[]2DIZ<9%2VZ#M,%S$W4. MK1MZ[B1F[+8;#7!PORE,"\9WJC=>X*?I:EO$%FJ?I5GMT+W):-D,35A-CWU< MVO?3+;3,4=MHI'RVHTW(9(W3^076Y_>6OLX>DTQS2?>8\P1 E2*'6+,2BF4B M62."=:V#'H=1>*JB>F"UARY=)G(R==*ZM:(>'G3@K<4:B= N\7KKMF[?LA]E MXZJP =%T5[$-(*A.M=P!_2NV+0:.T7C'+//$[3D>WM[P;3H"EZA"CJ!+;=2@ MI(<0E029.5..V61M:QNE?9N.B^D:R^D\30D-JW>%;IP5?3MOC^E/E>'ORON[ M#/]V?9IB0$VGR0"R%$!9P M3BX=-+#ZVPK?E=>K]?2,[)S5A(NHF"T)M/>B)AE8B"$[2%A28G0'8&H=3KA- MP;CMJQKCJ0&3.X#(55NMNU"7H03F"X/Z%%2=H0S>J B>$=1Y5#;J]A4@#],R M[G21@6#3A/&=6E*7K4\^U@?QHVRDVQ]HV&KH(9*&;S@DG!2)QUH&676"XK46 MJ" PY@HJF3,SK=_/AFLX1-9_^/1I68=TT5??E9NR\#E"]#7H7; C"(&25"Z@<$@1+-S;#4A"SY%A:%_,>26JG/8H.P="]H/@3 M"*U337757>5X!77W$RU[&#U(UA,T,7F^K,?M#J QHU/><1"V'ATA(D0",D06@G2%3I$>3@L]3EN_ MS8T.P9>U\3H>W4B-<]84#*56'43:>RJT[>1 QB0#"U:FI]MV)ZJI M+5;V[FYTG$PZ54T'-O\YQ58Z9J$1^AL-J-P.ZT^3?9+)2D;NO\YDUT<#W@0! MN3",TO/@7.L3_Z1=CJXM@)^G\^D:WTZ_XKUE[Q@#BD5-)YJ\#'%64U/_ M:R/GUW_66OF[\3TN!<\Q2"A&("CCR)3-SH*/U@4N@W)A*">C!?WC/@X^/:R? M7.:=V@B7O3>.C^/>_/?M^M<,>%'?Z6/BBA/6*@26I 85? 075 :11.%.U__O MO8L-?>WE8G77M\Y6LU"T %OK>Q03MC8ZYV3%RN)="+S(039VGY2N^M8<(N_[ M?6M.9W4']]Y#[7>V5O.W7^O('?KO.UN,23%NM8-H?1WX5>M1,_?@$J)4@BOO M6]?^'$'FN+=84Z0-*Z(14;C)!+NX9U_<\M8N]GQG4T6&X@U30$QS4"]4"+D@ M)-0^,Q<=]^5[=]1!*XZ;[M( 0L/QMU,3YN$V5L>;-(]^;[B^6T,^4=_NK<2R M*L7X!-EQ [4!"<3::A'1$+"RJ-W!6S],M^V^=>6;7G=UNLG*%\LEV?,7#89^ M^G:O\].+/\+RXM%SPI(QRC,!''V=A$H'+/"LP5HT+L1$9Z]U;E SXKOJUW4( MIG:'&IY2G"->@:OE>G*=_XSY]7R]T= O_IRN)CP)KYE.X+5CQ$F&Y-UJ17>Y M%+YDPY/LC"_-NO M>!9Q.$D@T5BL>B\Q[E0)]!R4/+-T7/(Z1YJ(=:SN( M%7Q7#>_2PF01XYLUGJTFR'(QR270,BI0V1H((DD((0DN>? N-H^,GTSUN)&$ M<:_!D63? ]J_P_>-Y_;NRT4?_;2>?KT?A=%T8: K!IRO+KLT!0)+"4RV,63& MHF##)9L=2_7(1M\3X^Q ]Z.QT#N-HCS8G??X(,ICGQNLF?" (91'6\?&Q&-D M5@(&\H"5EAEBE 5,D2EKQK1HWB1SR);"-Y[^MZL\%$^\Y'Q^-_^ Z7RYG,X_ M;8IX[YP-R;5'2=R(MN:Q%U7 !U^ ">^S*"(KW_H=JND&.FY9? CN'LGO>&(A M=W#/'[7E7\@5J)5%%\-M:M; MJ[B1NU$2BA+S,!50/(4;(:@$@/K9#6XO/=R ML.;BC?0);R>WO]"RU^6 E_O.KH:(R63&$V2L$YZ% M0U)PR,%B(AU' H^B=9KF8!TOKZW<.RN\F9?%\FPC&#*T+_[R&M8A.V<-^8Y& M*D^F;43P@BF(ABE6+-+!:UU*?"2IG7;&/ 1#C[@F@PFM4UVT9[NXXU7580L\ M80>\ 17=@9W+)/U/'<8%28D"RK (T3D%2:)R/I? 6&O3_6G[X#W(^IL9-879 M2'9&$9J!4B6#$YF,7&ZD(\LV!=]:_3].T;/J>W<(>NXJOH:"Z52_'= 0[D7. M&R:$V0VM_PK783H;N@?>HTL_<5^\_=DP?*\\*[1"+Q1X7^ORK:1?"41PQ7L3 MI2DZM*Y5:=\K[[Z5L3WA-T[>ZJ=O=\_AA-79 ,@%Z"3H^'&44!]0(2?FT,K: M::NUEWLHC=TVSSL$.;O-P0$$U4%8YH%=;1[HC9'H8G8@&?HZ;3V JTW>4F;1 M:<PXN$X60X=0NCQ@PAB,+ H0 MOC81%'2V@BL62L:HC//!-3>\'Z9D9//Z9 E_!S)'L'OT&ZD&%R^TY^^X_#I- MN'K[]N6E(G4LF*Q%!&Z9 N55':1==V,XALP4HN3[W4N/K-(7)HX1X6((?G:@ M31Y0NF^O4J=TR"I+U*"EB:!D[:K.? 0A! ;AC.#2#V_^OCTH\7*P^KNQ/:SC MQ-(!Q.H$IFF>AN6W=\N+TJ!?7YV?F,Q/@5W^,R59%^PG=_ MT/%:?9Y^>5&(D!>SV<=EF*]"VO!Z(H/4'E.!XC>(;UJ$WA?.2%=9>W54U.M**7&@0 MFCLKF109'XL*K##]]=/BZX^TQ(4RH5]V3[94?\ U ML9'8\I((F*XG7%@I5$) 'W.MD5'@=!90T*$VY+)JL5\KE1T+[ 4'\VS@T(R7 M'5@C=X,CM=9UFC>7(SFRU1"_(&M2HDVL* ^,#&^RPV4"GSV#[!@CM1B\,*6Q M<;(O;7O!RSX;> TJFF<$N4V/WHM<_ G:Z'(J"G@I6*M(-+AB,^AL@V8A*2?' M0M\-,O<"HOMO"\1C!=8!)M_,Z5NX6E],?]ML9&)45&3Y%7"6T1:8C75"4U7G MWN6,1J;4NE[W 3+VPI1_=I@ZE>&=FE*7PRPFQ=C,'3HHN?:(9TY#+,$!.L+.\JT=4DEX36D6D8M-:@4O(0 M%#(R'$W.0<@LC=L+(X^MLA]"GD^@N2U;.\T OYP3>'M\X&([/O"$_.[]/MQP MKNT&1%YEO6<-8FT'ZQ.7Q@NYUV'9NQ_K@Z&"K]- X\7J:/0N0(!G?@3=][ M7;M,CE+>8\W0!2F#JDVK/7@M))C:HJEXKTQJ73&^@Y2>('.,C!?M&=X!;GXG M$5RT];IT&[;;V9PJK[5%M!R$C+5JU&Q*HPKP''(2I(B%:=X_[3&"QLVT:'Y' MM1="#XBZH/WRB'DDW4ON'YTI6X>*6@=A8_SIDAUWP7C7NAO7+0)&KA%K)]B[ MD#F:RZ,':):+?)[66U9$G)2U*;-<3DDX#-) 01Z%1EFY)F=ZK[=T5F M'OI\%]U(CI'5HBGCQA;]-G?[S@XXNER(9,L2.80A,PBL=BI@WFM6C--H]Q+] M@Y\?N=:FC>A/9]S8HK](WK^$,#'_<@LB9AZUQ8#!+J.)G%?4"DM@#<*KNMD^:\4<(8\#G6HB'RU*)@ M'DJ*,2>)A3;3#B?W"1C/;SU=IOR+?[2PK": 6A8J57.AH-W MY-$[8'\9^)'?'MC!^I:VO<1[F";?\V$YYD$X; M2]Y5*LA ,94@%ET@!"8L*E:X"GL9&3N7&,?(;(^"AHSL0%/<*AC=AN>*C2R) M!(DSU5 M,@V!V[%4-'"?;!WG4L KW+6C_/EU_?GF^6B_.)IA=:PQ'&0W+C6G4_W^6S#O+@G[UCZ M2 X48F*"90;1)7+B/:N&=+3 1&:H8I#6MNYRUSXK[F9>Z$=>92T$SUK%_>IB=R[1;8K;(>)]*,OV1&Z.;4W? MVL5659Z34?B-CAO](6GC_.N4=K5>S&EKSO% .IG,0A7K"Y:H9>!,D&(N26F) MB':_4LC#UAWW86AP]+3E>U>0NOL@LMWJF_G7174W)L8Z(0TW4(R@6[>>F&AK M/GJQ(6I=C.?R<$1];]EQ7Q4&!U13KG=@@S]DP[W'Y<8TF"=\%V?3"S/R=_K/ M59G604/OE_AUNCA?T<]-%WF"GG,IG 9$EVLU19VSKC6XY((I-<+A6H\D.)WJ M<5W$QC =29@=P/?5Y;)7#+W)U__"S"?!:H4Z&=#.)%"\#DIFV@'GY&D7&14= MU];AB>\1-6Z7BH' UU84'6#K:@@ M3([HC!3)AJ&&Y>JR M(=G$YN!E;0RDLN.7:2_!"S!)ZB1RG?F[7\;0<>N/V_AB$"-O>#D\&ZCA["O^ M2J;$YZMMFE"<$5("\YK82L8 !%9HFQY]21FCC_LE)QY/P[@M+D:%W&GRZ!QV MTWD]4'2NMGM#).\I,=I6D :42J2]N0I@8@B))<_#OA&SPQ8>M]_%" [B?.= M%K#7B;BTG9>+,_+5?_],K-^V3UZ4BXX?]W^BCM--89Y?36?G:\PGQ/(;KMXB MY#\4,QJ]#&SG%1,!FZ6OYU'%; RI.-"ZT*6:3 27"?4VQZ#)#97NKG%S>G;* M#EK:S3%[,5]/W)1=R!DWSBGG_Z]O ' M-DF^2<2D;#2 2":U0O+HO(D<+/<915!G MY[=PAE>S0H+.I4[U2#J1H>\YQ&H 6F.81QX3-A]W_#V:1IZIT@MX]@+UD9+L M )G;7FB_KQ?I'^^^W*BX"M%[YZ0 3)B)2\)!) L3B ML3*_FTS<1 =(.G$$_OV*FN-##3-:>M@)$;R41,#+XT";4U4Y)HRZ9NW8FU$ M>R^C[I[[W7\<&#HX!+_A^MKCGD@?&085H=@LR=TH2(]:.[BW M".A1;0Z-@;OS.(X62 =H^CM./WU>8W[Q%9?A$VYG VS8LWIWOEZMP[SFX&Z" M.1.A-<:(#D(PCMA$VPS!ESJUQFEC7+"Z=7[&002.JQR[0.-P NT K:_N6]M7 MH6V?F5-%@&>BFC*T)Y]J]^5ZB3#O4RGM:T=V43.N5AP0 O?*2)K(HP-D/Y=:!I2-)';N0 MI U2]M%VC<76*SK?E5T;G6!R3,H<01810)&["-[( &2:&*V258&W#NX?2.*X MN;T]W]1-A'H\9A?K,&L3]KD;+]O<-MZ(XHI"B"5M)LIF\OA< &>MX$QI7AZ= MYM7B06Y_2W&PI-TN\'>Z@#K0C'E2 M**IU\_ =I(R;H=LETHX14@=8.Y&7+\X6YS7A"D-Q*!EH5R.YW$D(&"5P6XJ. MQF,(MC$RFQ ^;A9P%SA^>@!TFAM51V'/Z;!\.R'#Z=XW6N0I/4Y8HVRCZT6F MJS1;K,YOI']$[">_!DOR>9,V4%V MQ#26E7.^=>AD#[+$/#JI&\N@)8C]/Y]/59\R_+!;YSI9\#"XQYD'[^KX= MZ:IUGDY-21&5<,6FNW7+[2"VFZQQ8Q^#0ZR1/'J"&.UB0G:##U8IX)F,-269 M!6=0@B6#AN4@%+>M'QANKC]NP&)PT!S*X68!KK:&,2G6+[A@59+XNP MIC90)/N)KCKNP[D_L;RJ>#2W+G;G[Z]I$^L4F'Y3&E MZ&P G5.J-6$2O(@:L@S.1FO(@VGM%>]!5B]I]"WQ<+_[=%/A](RWNJ'M:(AL M@DH\@V:UKW(JF5C&%9!=8:Q6F;=O![<'69UJMV.AL"_4CI1+!U"[Z-!TM9'+ MI&F4-J7D'&!M'Z;:_6J./U'4(ZA=.QXGZP _8IO.\ M0+\&XB)MY-M-!FV;-QON@A*)6%(0E(@(D38$VA9RD;/(WK2V01\A9]RPU]!@ M:B6'#B#U\_ER/EU7_WN>?Y[^67^U;0<>&$-;NXL7RVJ_N$P[$:9 H0TBLR$4 M;(VHW=2,&^0:&E"-I- !GBY>+''Y^Z*L_R#>OJE._* >XMAA9\7L_SF[,MR M\15OSOJUQJK@.0?-$Z?KG9CE;>V!Y'SP.HFBLVX,LT?(&3=S9VAPM9+#R'/. M/M")N'!>;&;<SW^[8.'L6>7'2FLN^(^@G,C M"_S7Z7QZ=GYV23C96-[JE( )KLGVXWT^([(;RTZLM"/ M$=FB!?_&%GSX\R;A AF7W@,&5QN;&0T^*U9#]-P96;11+<[ZK47'FU'71/!' M\Z\#&W+GE??V>C -UT8B,V!%J$\U49)5K T8G:(S+EI66B>I?9^JD<@;;+\M:\&T,]RAXK1TK=.$JJR#RE"$(GC0+6-KG&#U.4:=QX2/EOR^\ M#A=&!]!ZD=+YV?DL;-HC$A%I>CE$Z9Q-T]_6T]FFD&(S<^)B%LI5FNHGPL-J@E*$X+2&9'7= M?3+@@V/@O4J&;B:I[HZVW]7(MQE-G<:W3X/MF'+KH&1UY\[_ML)R/GL[+3B) MQDFZ21P@[0&4IC/H,-:\?)?KV##B\9-=]]=D=1H''_C./U(LG195[4RDO'US MM$\5?>C[@V:&?G=#3Y8(&KQGKM2&Z#;5D6V>=)/5CLQ'ZT.2/##U9(E"3<9' M/FAEA$>LC)MRF6")(F[>PJ.HS:N,(\84 :&0IC;("MYEQXY[]B0R.G5@C@+- MK9OUZ833J8J[\X"YHOV]G89X:4>\6W_&YO7/P^:?GU1].@@E;6I8AV=2(P5[1<,\WZ7Z@4*1+%A./#N2!*<[FJD SAD& M.= 5;0O2!=YZX/9!!+;+P*\E4&M\._V*]Y:]B+!EAIYQRR%@8:#0&(C!9]"6 MRU3#%HD-UWW_>]2-JW^'P]3NC/RF\NH@KO2&SG;9O:>?OOT:_O=B^7)&&F+S M:*B$1F54 >YH9^24T27C:\#76BL](V:JUND]!Y+82ZY^6Z3*X;1!D8"QP6SM@5>9Y":[P"#;5&?/,&*U; MP_ \GI)LAS4[AM*7'TC\<&CG%QAQ=:6:$P@*&/IC$5I(05EI#"H[ _)D^4V^AC9Y2*?I_5+7*ZG99K"C8$X(DNIO([$,K%I:*+!1?JM MU!$CTT$)=2>'?/=#\XXUNL7/Z7)=M&=R!RKL?5C?*(U(QDO-? *CC0+EC(=( M)@9H8[A23D\=@.;2A*S)-.GS?#%;?/KVH;;[WFZG ME*QE*KS6!K*JFS.XVO[>)6L=F9;(FO=0_ Y)XR:T/"6P6LJF ZAMTF]"6O\4 M5@\P;ULCB-YH9R ID\A_*1)BT@Z\XSHQ8L =9XV:M/"7D6LMH;!/J MX\?-H^6.G1AI,8JJG'VJ$SV4 V>U "EXC=U(:0S;RXIZ=)EQRS.?S)!JQ^H. M=-4C7'M[E2O&B](B(P?/=*D%S0H\K]D.O 2IHI5&/J$/^+:WXHVQ0A''":@# MT-W=R*94X*)K^W3^:?O>/"E">A:\ A-2H%U)5L]J "UEX)H+*5/KX7;[4=:M MQW@D(NY%8)N+IP/0/<*V&T4!-S._)NBMEY8%8F*RH(*IHR,9:77A3!:.MN]: MSRPYG,IN_<\V8!Q8;..79NPZ=;_A^OZ94U(*KV0 25X0J$S7B5SD*NU;HUL,\#2GMN#JV(_D@BVZDN^Y2NJ9(SC-J<$4)]$CCS43JC9!K6.B M4L;*1E8+V;@W(7CT_DC-=+'"N..TGEHS'<'53CO\'YB=_W0E"B.6('148A!C MT(ZT3XB"K"*ZZ<"AJ06GQF6)VHGF73^>M,3@IKY]5^ZN-PFY)%XXJSLG'[G^ MRLM20,3,K/?61M&Z./5QBIY5*<$!V+E7Y]].+F-;9#>WLBC;AXL/%^5%CRN& MJN*-=;&09^)G5#H%0_9!^J[F:T#'N&&*X8'WU*+J(*+V2YC. MWY)_\VZ^W2D9@6?3^87QZ55*43L/(GL$98F3P9+M$JSUTC')66Q=*/ H0>/& M*)Y.\[63RO@NP?>Y]^;L2Y@N-^6X+FA$IA.8'#20I4Q;\]G1.>),.5:=[=;= MMO>A:]R(QQ/BKK6,_GN43/]\ONE*?OMB.%^M%V>XW![0)ZR;/HB<$3R7X]DU MBGMC'5?>"0$ZUUD%6"+0#9Y(1#9:)P*IV]:52+U64'-C8R +!3RW\<)X<9X. MN8P%DTQ!:&S=*OR_9P7U(9@ZH8+Z$'EU8&P>DF?O32F%!0DFHJ*M25^[7)E- M R)4@F,IO#$46U?0]% Y?1!"3JB@.41>$B;YW&\M^V@N8@J)Q807.(W,:.$?VVF'\GVG"9GAA1%!510S*YU*@_ M,3 E#EQ;%;CACNG]GE'V7;%;;)TN\\70 NA V=VSO;<%X 5]\0+!,,5!<1:! M3)8ZD$1Z85 IK5I;>SM(Z3;_J1G 6LJB TC=;%;Z;:/530@N"D/F168.E,) M&] 9"IT.,CNLCJ%Y"===(IY-7?,I5MEIK.\ .Y>D;WKQ;?/XL0A? @,I-)D$ MF@OPV260Q=@Z.U6:YET;[E,Q,%8GBFFOY;KURXX4\;[.V''\[EMMW7PN>?WG%YRO M\ -6G4]"K&=UE<+L/S"0I^""E:[.(Y6,MAQL3264'BP+6?&HR1UI_5S1@.QQ MH#H4D@ZH;QE"K,\.R;_AG^N/?^#L*_Y*DOB\FG!;O%:%@W#5W# U 58J#\8G M=*Y$KMT31O?WH'@^"3 X20P'EDHDP3NCN/D3I..E6_&#U8?,\2I3\OSI<3*55@TF;@BM7V>=: $VB!:>=DR-ZI MYN,*CJ-TG%JT;C%ZL/#&]M=W;['N*MTILWM1:-FK?<82&<]2 ";W_[?WK_8 _OER];E4XGO5V5Z:22GC.UGU2\@(EV;"DCR3F=_?4'E&0G5GQY M)5%ZJX$RAC[ M[?\ 25F>G BH(6B*S)22C&RUK.-[19'.YZQVIX\\&[%[:'= H83M"(Z<76 M"!G<-.!$ZAK_Q="!K%=.W\YPDEC@F4D-FO$"RF&!H'($(2069[F1T9X(FUL2 M1DP6]H7&0U1RT?BKZ2:&VMOH)?#,99D2C XH&752>(F'$'&!_ M^-M7)'PLA>';HQG+:7)UHR'K #$?C9ZC,W;#FGH$F4V] MI08;Z]T*EQ:B- 6$+,Y[$:63K8=)=-QJY61)O?;*Z+3%Q8=PA?/R:H:+CU\W M8Z.FLX]W[1MN7[-_:^MQ1/N*0Y=JT9JB"9N-VD[4/@ $INGL!O/;S[A8<[.L MHR^GR\_S9;CZ;3&_^?R=C31<&YD"%%\;-P9%!HW' B;6?M)Q M%=,W]67!O%05+1_1T20ISG)T@;96?4II@P Z-7(M?0@B2,53&';5.F2U<>NE M3PF/^Z73K04_]JW%+4,[G'R@(V+Y87Z5)X(%9U/U!51M242Q-L4VF "]L4(K MR]GNN-5G4/382N->=9T=04T$WL$]_'H:,>;E:Q)IW15ORW:2(CD8V_W@?8@V M9P&&U(DL&V[HK__-4C>N$G0-N)])0!YB[]2MOPM7;>#7] MN/4L$_=.E00> WF6@G:/XZB@J!RDL-%SUOJEZX.$C-O1[IS(.EX/G7KX;S L M\9BV<_<_H(4W_@1)C7SLS0K?ZH&,XH%%\F)4)C66VD9&1 \J2>F9YJ;XTG@[ MW:?@6"OQ!LFXX?HS?\5E6DP_5Z%OWE^*+%+(A8Y6&8FY:.MC7Q/)3TLB.Q6< M;#ZV^PERQG6>C]#[KD%H)?(1SYCE8C5Y'V8?<=THP&9O DH$YLF?)\$(<%ES M*$DF)K+WG ]JFDJ?^AU&Z&_?\'%OP;&1T$A]\V-EV0, ML_W@Q<6DS:0B$)0 MLB!$ESG8G-!F.B-9'.16#(' F*T1CE#6KKH/D-S("O_;=#:]OKG>$JZ)^Q@J MX=+7FII0KU!T@BRY3QHS.<6#CKYG5'YOT9&5?HC*YBWD-[;BPU_?$5Y8-.2K M2HJ#ZMDG,H*K'>9SRLD8+TK1@WH1/J?X[Q<=)^_13/$'RV]DQ7\@&6--6W]( M. N+Z7QM]B(W(C$>B&]=2TALI%-.(W F C(TS*A!'0"> <"#BX^; #O%V7^\ MC,<&R9;NO\^6GS%-RQ3S;:,Z)X14=1ZVL?4:"SU$(Q!DHDU4FP>E8<-WGP/* M8P2,=UPT4.J\M80[@\V M$ST*(_=7'Q$@;53Z $B.D&\'6R;NSMWM"6Y2!NG2"%J)B[1%B+7B>N< M(XO"LMVZJA/E)-[TT4ZK]8ET"CUT 2MBY.5\N9H$Y[0HN;[;K)6PEF.MXDGD MTEF#*OB$J?6$E[O%>TQ<'*C2'^!RB'P[ ,8V^S_[N.;@7?A:#^WEA.6D?'8" MBF>&MHYG%-D+!6@#"]DHPV)KE#Q,28_^;AO(-)!\!_AY/_WX:?6V_'VYN25\ M&U=TAM>BL5=_I4\U=*3C^#ZG=U6J$U<,9X9I0._)/AMI(#@NP!3!%%<:36S= M__H(7 7Q]N1FCT=:R[$WSLM!]:1SW*OE\)K*QMGI'X_J._F:V>D^1]#MWJ=<>?'GP(\ MK87;G=7:]JB:))YEUH4!EBPI[M$, K/U;8 4-GN>?6Y=6/4@(>,\RSF__3E$ M[AV YZ&M\.-)/E'9NE"K2I1#!TJ3B((M"D1QWF0E=1YVQ[9WFNLYR@;!RUTB MO$Z@F0[P=AM74PA3>2!6:I9F^7)^?3U=+K=5CW_B+,SJB-W%_ MNPG"K->T= M#%!,1E!*U9ZZMJQ?289 $K"[+PF/+T<^C-1!B/27B,ASZ*[KVM*'IOUN!'YT MU>GS']VN'G5/-DY3J9J-R<&D C)+6R>W!/"!_AJZ3!(V=ZC]8]T][7<>(O8/3 M\)$LWLN;197JQ#*;DPH>;/%TP&N?24Y*D^ISYHHQ:[%U!^NG*1H[^W\B%!TE M^'YA],=\EK8,18=*T=)@/'&EG,L4TM;",2-BB(G[[%I?4S]+U-@)_%.#Z4#Q M]XNGB3+)R10":)THMA4\0U1>@<0HE<+D/+9VPH^Y_#EACOW4V-E+U/TB9FM/ M[ZK/UD/6PBQ-P]6[^7*ZZ:E.WN5RT]1DN9JXDD5@HH#()$85M0W"**\C%&FWCVR8V]3?P^VT M$8U$51QDRVAGY&@AD'T'R95Q6&10I7T-XZ'4=I4)V0O/C)#[-$WG+#$$'D6JVFTX-C9:\Z.2#LY%GT?H2]%!:NTJMG!R6QRKK@D!Y MVW/;UP)W7B+M-%\C.F$A9I*I\49*6>K3W=8#$_(AJ+@UYZW;; M*BJ76:UW8KHV"&4)@O=(7'I-GE#BK+1O"[(GD5VE=,Z&OKW5EL:ODS;G0M[=R>JR*O&/NS_DO^"Y, M\_W.VCIK26*CS61L <4$?:68AF#0.0S96KESA[9'I>33:W>513D$4^>0^079 MLXF(7HAU8PS4==JB#! YH]B)N1*JL59R+!=N[#++L]NOO90QXGS"07S]?9:W M]>J87_V5Z%=?7->_39CVR28FP!5+,9&7#B)MGHH383W+7MG6:>2#"!V[#/,\ M\&NBI@X,WF.7CIFH5" 99I,)3B6O49W-J_^=4.;[VYCQVB$]KY DF)=+>@@"-K=*I5HLQ0\Y]8/ MGN]3<*PA_Y ^8;ZIW:$_?"++]H,L7RP6];WP&KJ_?/WV.UL_ZL5_A47>].9P M7A@;4( F8T91H)#@C+(@E.<^%FV9:7V%TXSX<6]TCL#4[F$QCCI'[L/TC5;K:O1U]VIDF19)<_!V3K$)BIRKQ3+@"K3)SC#Q;"DY3.=F!Y; M?UQ4C02%>6.]=(BM;5NK7&06*#*$6'Q]E.+!EV0@RL@5-X%S,>B^_@!TC=T, MKHUFGX'* 6(>&2SOUH*KFRS,OFZ[E5%,%R(O&CS]/ZA\T^L@-!)D9V50Z[GUR#(*3 MTFO&5"BMG\-^O_ZXM0+C'DU'ZZ,C+&UWE2G!14_4*U^[I @G(!HFH7!R)2-G M1=C6:>7[%(SKZARNR4<@<8!8Q[[8>G&]#F_7$?';]9/=,,N_SVK;DND7K(S1 MDF9K.976.BBAH6 =%ILE&4U>'*"T.1KM7-I]C/_(E=8^J_:!D4-4.S^'G$<' M4$TUK]FZQ\V6$\'IK&8YU1,VD;R8J04N'C*WOC;E-#'[88AY:IEQCZ5F$&DF MR0Y.FLUA2[^\-J[*!I>M3U!LG5+G BOKC]?S;\B?N4 MY(38&, D\DF0U=YT>9 3]^@2(^<5>@%40SUT8,M^(_FMZJX(JYM-FC<+4U)1 M"5RT$E2HY7F(!HAT0?]P$EGKUCL_$#%NM7?E.M=(XW.MAQASD9 M;=18NSU9!.X/UY:%J762[%X'CNF7G1-UQNND*>(^X$X]Y$V_N M.G1J$4M$ET$ZY^HD]@@A,T%N:W)1"Q:B:_U6[WBJQWT^U8<[=V;==X#V6AB[ M+>-\&3Y/5^%JS>#R/:E_\07SZ_EB4TW[^W)Y$V8))Y$EC*(.&U3UI6-87__' M!*(P="9'9QUO#.Z]B>P\K=(81?-SJK0#S!XLWS]NZH&T-3'+%U_"]*J:#!+( M^H2<,!=\#I(!DU@;OV==+ZWKP).()@8KN#^=%]&6E\[S0*?= 5T Y)(WRC9; MMF9Z^?OL'2ZF\_S;8KY<3N@0#3((!H8<-U",6;#2 M*?+YHX;(? %IA!".89+^)# ] 2_C]N?H >AC Z1;:WRH/[,SA7#]PU_#"N_D M0^*)MCC/*$AV:3./.OH@2#S*,UX469+63P?.S.*XK4AZV%:=PJF#W797HX.+ M+^2Z/2RM/^:S+VOKLA;,\L_:@^7[G]>I4W_,5_\'5^_K0_/9]/]AGG A2[$4 M7.>=B:IUVOQDS(S;367D'=0'1'[FO;(]LN>+[;?J[_$) MTT+GX"3('"4HK05$I0V8[+ET,B?%6U^\GY?#<7O*_*R[ZG@P==K>YHF>)9NS M^D5:3;],5U]/TX_EX35.W(QE &.GZ<021$ZNUA)86T=SQUJON^;UV8BE%6LM*!F\X;1V*FL"S8B#54N60HN#-'^G\G)U8]L'4Z3JQ[*/. M#KMEK*L7@[&UP1T%\M;5@>C1@/?) >-.J\($A1J#8M9_\TXL>T%A2">6??32 M(;9N7VKJF)(CM[PHS4"5^MI;U"E1C.5(CH(Q;E!&\6?JQ+*79H=U8ME'S!UV M8D&;0B!S#L%BK@]Y:A-&54L")9GWI%1NT@WJ4CJQ[*7-9SJQ["/:D9'QOIK: M]0YQCHYOEHGHG.I(S1IAA/H>QP<1F41CPZ";UV?P<+?@S])SY=!#Z##)]P"7 MVV=;UDBG=0)N4P*E4KW"J]./K+*)9XGTTU: &=MP'*BL774?(+F1%;YMVWK[ M[C,JPQP+H*5 4,G4\S0[0.\(Z"RHX%NH_-ZB(RO]$)7-6\AO;,6'O[XC'+-P MS"H#AKPF.AV5AD#G(F"0+";/52HM#H=[BXYS0#13_,'RZR!3WB"W&F(46O,$ M0=:$I=6J5C%'X-E;G8U5O'13O?MFKU<7%]!/Y1"?9"3=7S+:MU?,;V]6RU68 MY>GLX_OYU=7K^:+^<&)$(ND'"]FG"$ID)'GH L::+(QBUNGSU)\=R\G%O]_8 M"X^-ZP\:@./GVB*;JOX)L]);C@$$6DT"X!Q\D1Q2U"H4KPVRUCT:FS-QH1NC M(3)/MUD.@,G!^^3S^LKUPRHL5EWLEH=*^E7ASOG((0=F0;'Z0MC(.LQ5FV2E M3$ZCA;UJTAE\L;S+_>+$BV&UXVK[Z^NT5?OOH+ M%VE*M MMS3%=[Y P,2B3RX[M?/L[Y'.96<@]D(?5;7?!EVB8_Q-?!N*K1L#D'^YEL!=1;"VK-B8Z[RJ(NM\,PG!.@2GI0WT+PO,#HI# MGESF0B.(XU#96/K=&NA-]/_B9O5IOJC/7_X^(W5^EPRH[:>7]^2POIU_,_\O M7&R^FEY/5Q.)7A&['E3.) LT)(: M8%BT59*G[%Y'[13\C/.S4)KS TRL", MX&?;#'___/F>+#1&H;BT8+3*I"2R/-&%"(87P2T/3IO3M?QMS\\X?OTE;89C M #"VA]'D!N1;XXQ[PID8L@B!>P-%& V*HX.HF($@ZE5B*I)%/%V:9[,8>[5"]2)/&06%AF/&).($TL)!8F(&".((+0 M5DLA_6Y!Q5-0/PO-XSCV)P=^?_KNUN$Y*&^[T\3E_G$XO[HJVS2SU-HG7V\+ MM8SU\I"^*LF#$,*X)"+RV%NB9G\N+_2"H(^4S8E!]>^S[29:>*GJ_8EQP8)* M)!%O;($44U0Z&"M4Q\6N3['VTQ3YG03AXVS(O>!V.66!CU;U#^EE=E] W'&= M4XW[HC6@0E3@HG%@"C<.BT(3S]X8NAU[%WK3U^F>' EV7<1FIRW%>5)6T90@ MDE*0E*G3T+TE6?$,4AJ9=0E>EV&7)R,SGG9Z3(\#MYZLW>U(T7CJKI63 @RGD M/F0%T?@ZY%-'8Z/(W/16L3F0M8MOC=Y);5HS^/P$Y]OS!4=/2LL6$3*O_0Q2 M436!3!I%SJ$(;C27W@G=S5S$)AQ??!_UOJO;FH&MEZWYU#W.,\,<'A?+>ZSM MQNC[+^>S]6733;CZ$Q?78B+#^N%& 2L+^04AQ)K3RO25(N?A-V#&L>MEYAVAHTZSV]]ERM;A99[7>KC[AXL]/8;85WHN%UR;OP1T/U.]FCZ6PY39OY*I%T)KP,X 2%P,H*!T&% M'G('RRU4WH99\] MQ\R%7@V>$\JGR[$<@:M>-M@1GL!W(?%]0?"),-)+PQT4ENB8]TA"".1Y,VZ8 M+)&;@+T-E'N#!ZZAETJ(XU=DA=S"S%WK]-_8.[1Z7G4X1NIO4]S<,525KW=U]D]3U M'M/-HG:7(?%-ET?,$CIPI183A5HPV6BNT-VJ#^V"R+4I]1CPT9/31:$7N5^$ M)\/1!"L29M[ZYO0I>HX],.X^^\5RB:MZP_YF&N+T:CTG8*N*_'9V)WSZA3_F ML\4]76P:L$J?7>**]A@R^L,$ 0Y%(NE([9UG6)J_P&I&_+A133.\[5K=<90[ MHAN4<3IY0Z? U:LZZ>+KNGN]]LI%:RQ@(3=.:2'!8QWA))RWD6'6^JFNS$M, M__/C_,M_T$=O($E??$/B PMV@J7SJGS>1OXC0V=#]78Z2L)B<^89G#'D[N20 MP'/-('%AM&.%&?[4Q?SSN/E^M7% <[2ZY@UD-W9-Y*N;Q7PY7>&[^KKZ]UG: MMJ^/+A'MHL[%40944AR<]Y*\72F+5)I%SYYSIY[X_/$4?KBBYFVEUD&X?&[J< M0FL]@?";^UJ. 4P@LN4SUGJLQ"/>A;UP4G@PDNV/?3Z6Q#M#X\ GR>H'_NL%9VD1$ M(J3H7 [@LJ\3S&@W1UL2<&V#])Y.%'&RQ-;C9(U[!]&S(WBX]GH"Y$,,;4\6 MC\)SP1&2EIE"=/)H0G *BM'6&-KG,K>VB@/(ZN1(;@6%QZ#62"^=0FUYMV.W M]KSHPIGU%K1B"51 !HX)#<):X8-/*)HW&1Q"5R=@:P6& 6 [2C,]H>V7KW=? M_N\I+HBH3U_?X!>\6N_1I*SUN= AD.K$R90<>"8M9%E\$*6$XEL_XA]&V;CO M"KL[;UOIL"=D/GCS?,??=E\KK[B4$LFC98H\:>[KOO9@&;HD>&*N>9W+7@1V M8AD;(F2(<6RBKIZP^/OL\\UJN988WQI\XQB+6#39^D3N"U]WN"QUCD04&9-4 MWITL#OF1G$YPUAX$C\'M2(UT"BYQ.Z:[",FY5I"2$*"\B. LB.UHVU2W6$0MC6C]S.\) M;\5XRK;W^;""M3JF-7 M>!2TN9V4)%RO0:-!)['$8)ZJ?3L$Z4-IZ\1_/#]\YF?090<8_5M8_!-7E;%O M//R=)!BN:I/_W^AP>U,']R)35M<@D!SI5 <#,7 F!7#%*2E\-#&V;G\SC+). M7-#1\7D"/7: SO7+E_H498&?<+:MQS*WHKT3/WATA(^"A0[VP$;P M#USE3XS,Q0>I(+!$CIG+LI;_(AB'6B=EDY"M'>1'B;G\O'LC/Z&)M@Z'W7P5 MKL[[PNWEI_HXD,Z7=59DPW_KMVU/K7&R5VV#&3O'>S:#/*@L#03OZ_M(\BW7 MU^,<@^.V*%M$ZSJ_RWC/)J)$%@+M(VU8O5\MX+F1P(1VCHFLC3K90[^?^#W; M/G@[W7NV?93;P5$]J+I%9(Z9*0H(G2/OP]LP M_P# '%*FMH?V>@+D$Q4PY X[%)*\':Q=V'+1$'648&226D8E>#C9?>5%EZGM M X4#RM3VT4NG4/NA&,HYI5C) 90L@GS@*&K730U<8TPVL4C__/\RM6/!<$B9 MVCZ:Z0EM3Q>P.%L*JV(3O$ZB(\\%HN2=M* MASTA<]#%,2(OKM@"A45+AXA VM?>@"#FJ3&T?=?6$ MQ0?J5KS*3J%7X .+H&*I70FS!\ETD-G2WI7G*%/;IY*HDS*UO4"P1R71/AKI MK'D+.L,29% 6H$B:*[EDP\ 3].\I>L[D<./SV/EWU/S%G1) M19LSQ%S'8AB>P&OB0"K)2LDB,_E4E?:E-F_92UV/-6_91W:=-F]!X2UZ5""# MIZ C.PZ!:PVH,6B5@V5^QSV_Q.8M>REJ0/.6?:36DQ/2Y&ZN$.M.DYL7&4=0 M>GV?A@%,"N3\Y23%Z1ILG*THL.M[TH:!W]D1T<%V&%Q(9EA]M6 #!30BD]E( M@J*:8( KBGUHUV'LF>WH/KIL.J"T;1W5'_,5+M^%KY7E(TJE'OJ8%M50SY+7 MJ."I*O=;[VL;*S@7!@C6E\2/DS)L2:J;HZW MY27A;KIZ'5+=65\WWK-G(F!0 HKE]9& 9X1HGZ DGP5G+@39FL5'B1G7F6N M@5UKTD;L'1QQ53;?QD"L,T>1R90]"\!0*5 J6(C!(XA@"W>)%69;.UL_4C$N M8AJI=]Y4UMVAY8]PC=O\DRY%)T[G);+Z=)0S"0')SU/%ZY))8L6U?M;[&"WC MVYIC=/PD9 X4^-B9V7?OWKV9A]F[Q?SC(EQO,XS99U9<-I!4[< E2X0ZUQ \ M]TXX8;/6PYIJ/_3I/6'@4*7-6TJP ]OQD$U=[P]6HC$J(L1B9'W[F\$5+B'* ME- $LJC8^KQYC)9QP_G3G#I-Y-XI?M[4$&&QW5TY2!.#,B \SS5PX^""JEW0 MI+*:RV*:^RW/T=2?%[._Y@? Z6 UC'TR_0,I&,#%+S=+XFJYW'#U=<6 $")0J,+7;^_^1LVK8>OVAYG %ST\K[5[M MTEW*RJ18FXE*P!QC35G1D9\HW.3><$/>'RK9^E'PDP2-FPX\WPEWF 8Z@-/W MB;$_Y[^$V3\G43N!D44PS%I03#OR\40&[TE8P4AM=UWEHS'T(Q4=&J7#5#QO M*N\.$',_W/@5TP+#LJ:Y/TZ_8#6T$QLC!D;GO?*B;"[28Q0(.1D5>-%D5EM? M3SQ+5'^N=AL\M=7&V [2L]R\+2]26MQ@_GU&2^)R-3&U\$P8 3EK<@^0UZH- M1C&OB 3VUQ3;HO\8UN3;];]L7NLC]>I*GZJ,!* M 28P0[Y[,>!R\."DX2D+QZUJ72^Y%X%'1WAS"E:_7V(3LFA7=!'K$%AZ4#%' M<*P4T,8I1_O"\.9EH@]3,JYK?CJL_!#G':^'SMZT:.M-R0E!NSK1N41!4:^* M4,C,>!MB]D^^B[^P@<0M]/?4=.$]A-G3 Y7DC#; !Z_V@D74ZG /+.4>O M)04(3]F12WV@LI>Z'ITNO(?LQHZE'IN3B]SK$@Q(P\C%*HR!"SR!0V90)!FL M^PD>J.REJ"'3A?>06@ MI_4H-2-G9=H=$(T%WP&$?KL)BT 1/C[8^8^GZ+ 8BLR@Y4SK)UBW#GR6J,P/5!E=M5=$!MNXVRMMX-?VX5L_R;^&O MZ?7-]:N_/F^VBR4O3_A0KU5JDE(7"T$:K.5+(B%J%W[D>TR.$]25:CA-UVC??XN4Z"GGV\R[=$%\FS=@)$ M;?.A9 X0#(L0"CHTSKGD6S?_>8R68XW*A_0)\\T5OBV[*_P^*_/%]5HSOWS= M_G#C.J)P9!IK!8F5@<($LQ9&SC[=>Q#;_%702&&OO;,%+S7^M2W@- MI*1-$#*JE%O'9H^0TA-D#M'Q[@B0!@+O #?K6I#EAH575]/KZ>Q>B:U-P1-' M8*)>ER E\ G)\): 9))-1-^ZHO!)@L:)ZD^&H7;"[P!)'T@1ZVZ%MW7;MQMC M8Y\=Q9^V8&TN1CYB< 8\R@Q"JTPRPVR'>3S[.-A/$31N?NA<3E![W?0 M WM MMV_E;+2U)R5D@1)48JH.5/84@623F&$JI=;IH7L$C.Q-MU/L+F0.EO+8]Z?O M%O-\DU:WHKAM*AY1)E;'(NND03$?P3/F@+&,CGD68]AI8?78.]*'/KZ+R/P0 M7T#07PQR^OYC+<@CES4F13@:T& JM.BO;,1& I5 MZY^)E]9S%QXA9=RZ\./!TE+2'0#F"=?[VW6:-#R&["PHZ8@G3I&=+R6#-SQ; MA4IS;(V>(72-;'?.';ZTUE0'Z/OCINZ9M^6'/-*D%),9V@219ZS#G,CAHB^! MR=H3)D7'2FO(/4I,%WYM0[WO/NILHH0.T/0>O^#L!E^3"&M=0+V6^\=T]>GE MS7(UO\;%J[_2U4VN=W;+)06)F.OL8<,31CKA@3Z.HD-C2'!&%+ A)JN"$":T M+@4[@,PNW.O3(?#4BML?FWZ#S1FVZ=S[VV*^7))O6::KB=):*&DY9!X9.0A. M@=,\0C*>-ECAA@V[M-JGE.?;\EWXZJ=#TJ&"[L!Z;9J^3FI;UB P@W9(5/-< MG063(27%F29S'/E3$S@.GR'>A6-^.F0<(-Y.*[=>X,?I\M9.AEE^CU<4AN0U M@R_2OVZFRVE=X8C"KCU7:%'W=0Q3CCL(E!^NYSMR%,5FBM4F"]E+5]?O4. M-:>8F:=(_J+U_*G)4@?;IUU"QG7*3XB5!PW746KHY7#[7C+U9B:AC J# 2/6 MX876X#!GX)Y+D5T*R;6^M7J(CG&1U$"]SP!F;UEWB)=MPBXBBZ33 D;7A)T7 MC,Y^DR ++DT*.4G5ND#W84KZPLS^&GX&,@>(>^RKC[4#L4GBW][CO'GS\K8> M*65KLQ>076TEQ*.&&"R#;(TOPL3$DGO.*7IVE;XP<8@*YZ>09P?6Y+LIHNLQ MGW_2?[?9,UQ$;KT!46JW:>LI&O R@A,E$G\VT.'* MG>W>"HBT#\C8%D7;2K&:8*A_1&W0IMI@J'FKP<>I&=?ZM-'V @=(/H.050? MPM:64>\IQKTM=(Q!:1L-<+>>]N0,N" T6&*+MB'&@*T?WSQ/57^@.D3_S\#J M2&6,[?CLLO./%R]OCVF?D2=7!'!NZF#2(B'$0D8\.\M,<8B6#W)['E]CW&.K M,4):RK,#J[-[J']+I":M%>.%0W&U)I('!!^/>2)P^ M_#Y,ZF-;E=M+X>THNLH.43!1 660L9;0!E%OA&LG&1,AL4QAA7-6HQUD41[^ M_+Y"J ,U-V\KQEZ0\.KZ\]7\*^(W+FJG<>:+!TFG8N7"@7.) XNH ^=2N-VK MJF? \,,2?05%#?%PG##'AL2[\'5=(/)ZOMB5T7*2O:Q%DPJ$Q;*QG8&^ TDP M;S5C*>]>$#Q68_[$*GT=&@V T4RD'?H=]=G8-.-F;L6?BS!;;LA:ETUN[V4U ML#L?;?!6NVI_( M[Q;SS[A8?7UW%6:K%[/\BG[RN7K#DVBDQEIQSM>S]V*VX&O8C"$GU,E8Z8;% M$H.7' 0B=QD@.J&P>W/J?I]](1;FBZ\3HWGD1AM(H0[A\+7YHY8:I FVR"1I MH^B#('.WQ""(^ N&R&'"[. 4>SV=35=X-?VR'N\39A^GY#_>3[WQZDY&%E5M MDL0$J-JC+6J5P'!IN _,U!)E#(&\P13ULG-?3ZPS#RB7ER1O*M3?OYCUI9_$%EQ.GG5%"9\B^ M. H)HH5@(J,XUEH1K2YIM_O/0'#4+F\BR]YLQIMIB'4@V127]*.; MZWH?I+R2M4$:7X\ZC%%"9.2]*Z.+TK9D.; YQ_-K#0/)):7.&\NW-[C<-X7D ML?_(WQ^XFEA%X1^)$)AD"922&:))'M *G63,KN38X.AY;/UAL+J0U/BY]-"! MR_S;?)[_:WIU=+Z>SC.UQ,YWF2BA;T;ZHC$NMF(<\_^%1;'\7BK?31 MAMS857Z*GF$8NY"4>',%C&VW=AW\W3JJB5 6O6=DA(4B*=7A'S[68JHL44=. M+EP>5B[PW$K#<'(A">GVLNW ZMP^G_O^EOO=8OZZ/OG=-@.8%&&\$<&!U=: MREF3L##5:4;6:>\UN?V-C<\ LH9AZ\*RS*W5T3G"Z)C^?9;FUU@GB$R$=)YK MIT %5LC0HH&0!0/A7);*14RQ]8/6P<0-0]N%I*-/JYJQC[\C+PQ?WBRJ1NIH M:B=0T3F/D8[]; 7$9#AXR6(L+$F%AT6"A]$S#("7G.P^@YYZ@^9M%N66%XO6 MNR(52$$&7?&DB VR]"ZH%) $^<-LYCT34_N 25Q(BKNY9'M#R8_A[2U74GN% MQA0HJ;9>$B0S9X("ZZ0,P4JK\V%9[D>7'(:<2TYXMY%V;[GO/8WK'_-9VG(M M'+-1.W(R4TYUX+$'KYT'RTS.DFGIA[[8;D72, Q>ROM\8,X:V M@74,LA8<5+*USX]F$)4HLOCL^,#G4?NL.@Q"EYQZ;R;S9N?CHQW=MC^H?\2P MQ/_U/_X;4$L#!!0 ( (Y)"E=]RBN,80< $HE 6 =&=N+3(P,C,P M-C,P>&5X,S$Q+FAT;>U:;6_;-A#^OE_!I5B7 G9J.4G3.%D UW%7 T/2.B[6 M?1HH\601H42/I.QZOWYWI/R2V&G=[J5JL7YP(^F.//(>/O>0TGGF.ZD4W"Q:.?\:;@^?^H[.8^UF%^<"SEE4ORT)UMP%)U&D$(4QT>0/CM] M#NDI3^(8GAU%\2G_/=I#5S0//M;-%?RTE\NBF0'UWSEJ'YP<3]S93 J7=:)6 MZX<];WIQGNK"87\&_<.?H9F-QAR\=TVNY+CH^"'M!=?%XT0K;3J/6O[?&3UI MICR7:M[Y<21SL.P*9FRHS5X,1BQP^@@NAOQ]E@3G%PP>P^.

O_WJ(HW[O^N?^%1M<]0YJ M%.S1UF![_>%H\'+0ZXX&UU=LV'_S=C#L7[(7O['^N]ZK[M7/?=;MC=CP[2_] M&Q8=\F9TM,^?,%X(%AV+<-6H_2B[-ZQ[>?UZA"-[_79X\[9[-6*CZ]J'?=/O M^;0JSF^[P1?>J?].\?O=+_S>?&WS2;K7:&Z/Y,C$_?A0]:YW5 M))A!@W5C61!:A[P8@\T:+ 'C9#IG+N/N\:/CYP_%^F&RF7 AL&(T%:2N<_@, MH_&@D85 P'2:T?/)O\^PV\<<+4GGO^_][,ZT1*V#8YJ& E-S@RE)S-H2)-H[I@KW4)F=1J_F&Z92-(-%C*-B@2 XP3Z>;>5K626[& M6"J=GG1.,X"W#="X=W M@/VNM6GQGL!@L$OE11CV00:)-"BZT*Q =XQ$@&&S3"89LR7]K/QG8*!JA :0 M2ZM0G9'0FTF7X0#M!!(?(+4[P="TP&%.T4VP>+X^#=\( @^_'@0"2XFY$X++ M*J<-+STT/C9KSV61(G5P)[$=622J%-@FXF8M@0W$G"2ZF6#:";&$9*56D*S0 M8.]UC:@7DAIND$6IT !QJ!$LOCOKXTFXS5BJ],PN0&I@+*TS'#OB=#/$C5$V MUK!F%\%L1/N-P.VH=G ;W-( M:E"Q37AI=W>AJA<#HJ+J*=1171IL -EI*JWG/+2"PK=#>GG%ENN,:T!Q#[.J MD*Z@TJC8F!Y*9$Z,Q6HEA3]RL65LI9#<2!J #.7>UX""6BHME6"_,*VOUYXA MM04,R"$CD],$-:1,2L6)V'%8/HA5*4>/( S6]0S^%0,9(O>B/XC/Y]I:P3BN M#XPKKKV+XIW9:@/,N_/4=P(LK2TZ0NK\1^";U@>^"A?M3KDI/591<2%.4AW**:;%; M9-Y22NQ O>%RN_+S<$5'I$T;]&6L2_=P!+L4![ZT!A+/Z<>W.RQ>R'*_ B', M!,;CT48=?/V($_5!W((P0RXW,4%;[DJR^2=;@?<)-$FE7"=):2CS:W5S2ZNY MM@[OTSDHMF43;.B/<'3#]A]P21'"2&#WK*O <:L$_K2 #A**Z[AV\/[LO9<_/A2+ MQ=%8D1-QY3I 5SQ%$/L$Q;&A7)?1<52O3AN[+/+^!C:9Y](Y@ ]4@EBCC*#G M0F)\OI%]A#$2KR5BQ_])0R_6'OQ12@S?K[.R2/SAPI/_MUC_5G'O*I1E*!,E M8HTVM;0]3B0@,JH"O=SJS(#?4L4-,LW77"\P_0'GXASHD_!6[4K"D<(60N," M'2TL^>Q!;%:R%%T08*@>&Z'L6ZSYMLP1'CA+?C!5'=EZ8O8-E?3Z[8&Z6+E3 M@YS1P*2#9SJ$C3^-KO#5"(5/%E.MID#5K^#CZE#=5.0(^43I.>#36:8#'?([ MZ$6T_2/28+/N?>AEV)=)\B5.G.=%UBW'I77AC6/4:H2O-&H_@K!:!"U8O_XZ M?IM*5O3V] CSY7_OO[G\O-3=_*W%?.(BVSY37SBJ7B8A9?WWD)2T:?,\ M_'*YY*Z#R'F0<^]]^#/1UK^%Z(3#MBEL? JT<(RU&5X,S(Q+FAT;=U8;6_:2!#^?K]BCNA2D&SBQ;P%*))#G(93 M!0T8-?UT6NPUWHOM=>UU"/?K;]:&M UIFT:Z!!T2%O:\SSPSLV80R"@<#@)& MO>%O@]]U' 4?/9;=@*YON48BV:1\%4AH& T3/HKT MAM_2DBZY#-EPIV=P4MX/3@HC@Z7P-L.!QV^!>V\KW'0),TUJ-@W\4F)VB6>T MEZU.NVT:S99I_D4J*(KLI4PF-R%[6XEXK =,V>\U&_5.*Y']-?=DT".&\4>E M8!T.?!%+M)>B?/FS5'.O[+L<7QF2[$[J-.2KN%>$6RF%=F17A"+M'1G%IZ\H MND\C'FYZ;QP>L0PF; TS$='XC9;1.-,SEG*_9,SX/PS]1=>+VW493@?UA#QF MN_!(0P5D7U^.S\8.F(TZ>8JO+B:>I95?C/ ;J9<.T;%'TW?V!,:34?V G&T^ MZNS(GCGCB_'(PKT>7UN2=#=;(@=GBO3T'8E*=-*O+ M&M#8 ]+RRCOMX*.TYF"=3S\X&-F'Q6R^L"8..-.#=WMNCXJRG!IMF%Z W?>2:YOWFEW)9^[E_' M&EA+'BN SVB\8EF@P2C@S ?[CKFYY+>L0/^%XG$Y#6'J^]QEJ5;*"Q\XSC+4Z#%43:6F- 0\@YM8K$/FK=CQ4:O[C!K\>+XF MU/-P@>HA\V7/;&.6]Q65CWCL8=OT=-)-_OL]\WAYR?WH?7GK_6\R18QZ2Z7! M01!HC$7-88,@4<5CA$I$BP*ZJ(6BI(=/B]IM@>93KF"7I"Q3-=<4 MF88AH!@Z@U,,"0F" "E*RK^?;JC0XX5J-?60*P]+R(B$I87-[ %P?_W0\[QS MW>-2/Z>]-&C.,<7%0 8K7R&@R^XEN^X]^ C*[O-PJ97U[N78B*GB4ENTV>EG MQ?7AVGR]3OG^\46$+C,1YG)?Y">OUMMK^:)_4OS!\"]02P$"% ,4 M " ".20I7#V_'*O\Y 0 "'Q, $0 @ $ =&=E;BTR M,#(S,#8S,"YH=&U02P$"% ,4 " ".20I7=GILGC 0 #UM@ $0 M @ $N.@$ =&=E;BTR,#(S,#8S,"YXY 0!T9V5N+3(P,C,P-C,P7V&UL4$L! A0#% @ CDD*5WW**XQA!P 2B4 !8 ( ! M]AL# '1G;BTR,#(S,#8S,'AE>#,Q,2YH=&U02P$"% ,4 " ".20I7>P>; MV?$# !G$ %@ @ &+(P, =&=N+3(P,C,P-C,P>&5X,S(Q :+FAT;5!+!08 "0 ) %0" "P)P, ! end