0001200375-23-000033.txt : 20231103 0001200375-23-000033.hdr.sgml : 20231103 20231103161223 ACCESSION NUMBER: 0001200375-23-000033 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 94 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231103 DATE AS OF CHANGE: 20231103 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CODEXIS, INC. CENTRAL INDEX KEY: 0001200375 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL ORGANIC CHEMICALS [2860] IRS NUMBER: 710872999 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34705 FILM NUMBER: 231376460 BUSINESS ADDRESS: STREET 1: 200 PENOBSCOT DRIVE CITY: REDWOOD CITY STATE: CA ZIP: 94063 BUSINESS PHONE: 650-421-8100 MAIL ADDRESS: STREET 1: 200 PENOBSCOT DRIVE CITY: REDWOOD CITY STATE: CA ZIP: 94063 FORMER COMPANY: FORMER CONFORMED NAME: CODEXIS INC DATE OF NAME CHANGE: 20021022 10-Q 1 cdxs-20230930.htm 10-Q cdxs-20230930
0001200375false2023Q312/313113113110.5110.25100012003752023-01-012023-09-3000012003752023-10-30xbrli:shares00012003752023-09-30iso4217:USD00012003752022-12-310001200375us-gaap:RelatedPartyMember2023-09-300001200375us-gaap:RelatedPartyMember2022-12-31iso4217:USDxbrli:shares0001200375us-gaap:ProductMemberus-gaap:RelatedPartyMember2023-07-012023-09-300001200375us-gaap:ProductMemberus-gaap:RelatedPartyMember2022-07-012022-09-300001200375us-gaap:ProductMemberus-gaap:RelatedPartyMember2023-01-012023-09-300001200375us-gaap:ProductMemberus-gaap:RelatedPartyMember2022-01-012022-09-300001200375us-gaap:ProductMember2023-07-012023-09-300001200375us-gaap:ProductMember2022-07-012022-09-300001200375us-gaap:ProductMember2023-01-012023-09-300001200375us-gaap:ProductMember2022-01-012022-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:RelatedPartyMember2023-07-012023-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:RelatedPartyMember2022-07-012022-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:RelatedPartyMember2023-01-012023-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:RelatedPartyMember2022-01-012022-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2023-07-012023-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2022-07-012022-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2023-01-012023-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2022-01-012022-09-3000012003752023-07-012023-09-3000012003752022-07-012022-09-3000012003752022-01-012022-09-300001200375us-gaap:CommonStockMember2023-06-300001200375us-gaap:AdditionalPaidInCapitalMember2023-06-300001200375us-gaap:RetainedEarningsMember2023-06-3000012003752023-06-300001200375us-gaap:CommonStockMember2023-07-012023-09-300001200375us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001200375us-gaap:RetainedEarningsMember2023-07-012023-09-300001200375us-gaap:CommonStockMember2023-09-300001200375us-gaap:AdditionalPaidInCapitalMember2023-09-300001200375us-gaap:RetainedEarningsMember2023-09-300001200375us-gaap:CommonStockMember2022-06-300001200375us-gaap:AdditionalPaidInCapitalMember2022-06-300001200375us-gaap:RetainedEarningsMember2022-06-3000012003752022-06-300001200375us-gaap:CommonStockMember2022-07-012022-09-300001200375us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-300001200375us-gaap:RetainedEarningsMember2022-07-012022-09-300001200375us-gaap:CommonStockMember2022-09-300001200375us-gaap:AdditionalPaidInCapitalMember2022-09-300001200375us-gaap:RetainedEarningsMember2022-09-3000012003752022-09-300001200375us-gaap:CommonStockMember2022-12-310001200375us-gaap:AdditionalPaidInCapitalMember2022-12-310001200375us-gaap:RetainedEarningsMember2022-12-310001200375us-gaap:CommonStockMember2023-01-012023-09-300001200375us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-300001200375us-gaap:RetainedEarningsMember2023-01-012023-09-300001200375us-gaap:CommonStockMember2021-12-310001200375us-gaap:AdditionalPaidInCapitalMember2021-12-310001200375us-gaap:RetainedEarningsMember2021-12-3100012003752021-12-310001200375us-gaap:CommonStockMember2022-01-012022-09-300001200375us-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-300001200375us-gaap:RetainedEarningsMember2022-01-012022-09-300001200375us-gaap:RelatedPartyMember2023-01-012023-09-300001200375us-gaap:RelatedPartyMember2022-01-012022-09-30cdxs:segment0001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:PerformanceEnzymesMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:NovelBiotherapeuticsMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:PerformanceEnzymesMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:NovelBiotherapeuticsMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:PerformanceEnzymesMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:PerformanceEnzymesMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMember2022-07-012022-09-300001200375cdxs:CoreSegmentMember2023-07-012023-09-300001200375cdxs:BiotherapeuticSegmentMember2023-07-012023-09-300001200375cdxs:CoreSegmentMember2022-07-012022-09-300001200375cdxs:BiotherapeuticSegmentMember2022-07-012022-09-300001200375srt:AmericasMembercdxs:CoreSegmentMember2023-07-012023-09-300001200375cdxs:BiotherapeuticSegmentMembersrt:AmericasMember2023-07-012023-09-300001200375srt:AmericasMember2023-07-012023-09-300001200375srt:AmericasMembercdxs:CoreSegmentMember2022-07-012022-09-300001200375cdxs:BiotherapeuticSegmentMembersrt:AmericasMember2022-07-012022-09-300001200375srt:AmericasMember2022-07-012022-09-300001200375cdxs:CoreSegmentMemberus-gaap:EMEAMember2023-07-012023-09-300001200375cdxs:BiotherapeuticSegmentMemberus-gaap:EMEAMember2023-07-012023-09-300001200375us-gaap:EMEAMember2023-07-012023-09-300001200375cdxs:CoreSegmentMemberus-gaap:EMEAMember2022-07-012022-09-300001200375cdxs:BiotherapeuticSegmentMemberus-gaap:EMEAMember2022-07-012022-09-300001200375us-gaap:EMEAMember2022-07-012022-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2023-07-012023-09-300001200375cdxs:BiotherapeuticSegmentMembercdxs:APACMember2023-07-012023-09-300001200375cdxs:APACMember2023-07-012023-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2022-07-012022-09-300001200375cdxs:BiotherapeuticSegmentMembercdxs:APACMember2022-07-012022-09-300001200375cdxs:APACMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:PerformanceEnzymesMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:NovelBiotherapeuticsMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:PerformanceEnzymesMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMembercdxs:NovelBiotherapeuticsMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:PerformanceEnzymesMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:PerformanceEnzymesMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMember2022-01-012022-09-300001200375cdxs:CoreSegmentMember2023-01-012023-09-300001200375cdxs:BiotherapeuticSegmentMember2023-01-012023-09-300001200375cdxs:CoreSegmentMember2022-01-012022-09-300001200375cdxs:BiotherapeuticSegmentMember2022-01-012022-09-300001200375srt:AmericasMembercdxs:CoreSegmentMember2023-01-012023-09-300001200375cdxs:BiotherapeuticSegmentMembersrt:AmericasMember2023-01-012023-09-300001200375srt:AmericasMember2023-01-012023-09-300001200375srt:AmericasMembercdxs:CoreSegmentMember2022-01-012022-09-300001200375cdxs:BiotherapeuticSegmentMembersrt:AmericasMember2022-01-012022-09-300001200375srt:AmericasMember2022-01-012022-09-300001200375cdxs:CoreSegmentMemberus-gaap:EMEAMember2023-01-012023-09-300001200375cdxs:BiotherapeuticSegmentMemberus-gaap:EMEAMember2023-01-012023-09-300001200375us-gaap:EMEAMember2023-01-012023-09-300001200375cdxs:CoreSegmentMemberus-gaap:EMEAMember2022-01-012022-09-300001200375cdxs:BiotherapeuticSegmentMemberus-gaap:EMEAMember2022-01-012022-09-300001200375us-gaap:EMEAMember2022-01-012022-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2023-01-012023-09-300001200375cdxs:BiotherapeuticSegmentMembercdxs:APACMember2023-01-012023-09-300001200375cdxs:APACMember2023-01-012023-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2022-01-012022-09-300001200375cdxs:BiotherapeuticSegmentMembercdxs:APACMember2022-01-012022-09-300001200375cdxs:APACMember2022-01-012022-09-3000012003752023-04-012023-06-300001200375us-gaap:ProductMember2023-10-012023-09-3000012003752024-01-01us-gaap:ProductMember2023-09-300001200375us-gaap:ProductMember2025-01-012023-09-3000012003752026-01-01us-gaap:ProductMember2023-09-300001200375us-gaap:ProductMember2023-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2023-10-012023-09-3000012003752024-01-01cdxs:ResearchandDevelopmentRevenueMember2023-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2025-01-012023-09-3000012003752026-01-01cdxs:ResearchandDevelopmentRevenueMember2023-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2023-09-3000012003752023-10-012023-09-3000012003752024-01-012023-09-3000012003752025-01-012023-09-3000012003752026-01-012023-09-300001200375us-gaap:StockCompensationPlanMember2023-07-012023-09-300001200375us-gaap:StockCompensationPlanMember2022-07-012022-09-300001200375us-gaap:StockCompensationPlanMember2023-01-012023-09-300001200375us-gaap:StockCompensationPlanMember2022-01-012022-09-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesBPreferredStockMember2023-03-310001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesBPreferredStockMember2023-03-012023-03-310001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2023-01-012023-09-300001200375cdxs:SeqWellMember2022-03-310001200375cdxs:SeqWellMembercdxs:SeriesC1PreferredStockMember2023-09-300001200375cdxs:SeqWellMembercdxs:CommonStockWarrantsMember2023-09-300001200375us-gaap:CommonStockMembercdxs:SeqWellMember2023-07-012023-09-300001200375us-gaap:CommonStockMembercdxs:SeqWellMember2023-01-012023-09-300001200375cdxs:SeqWellMembercdxs:ResearchandDevelopmentRevenueMember2023-07-012023-09-300001200375cdxs:SeqWellMembercdxs:ResearchandDevelopmentRevenueMember2023-01-012023-09-300001200375cdxs:SeriesB2PreferredStockMembercdxs:ArzedaMember2023-09-300001200375cdxs:SeqWellMember2023-07-012023-09-300001200375cdxs:ArzedaMember2023-07-012023-09-300001200375cdxs:MolecularAssembliesIncMember2022-07-012022-09-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesBPreferredStockMember2022-06-300001200375cdxs:MolecularAssembliesIncMember2023-09-300001200375cdxs:MolecularAssembliesIncMember2022-12-310001200375cdxs:SeqWellMember2023-09-300001200375cdxs:SeqWellMember2022-12-310001200375cdxs:ArzedaMember2023-09-300001200375cdxs:ArzedaMember2022-12-310001200375us-gaap:OtherAggregatedInvestmentsMember2023-09-300001200375us-gaap:OtherAggregatedInvestmentsMember2022-12-310001200375us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2023-09-300001200375us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2023-09-300001200375us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMember2023-09-300001200375us-gaap:MoneyMarketFundsMember2023-09-300001200375us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2022-12-310001200375us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2022-12-310001200375us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMember2022-12-310001200375us-gaap:MoneyMarketFundsMember2022-12-310001200375us-gaap:ConvertibleDebtMember2023-07-012023-09-300001200375us-gaap:ConvertibleDebtMember2022-07-012022-09-300001200375us-gaap:ConvertibleDebtMember2022-01-012022-09-300001200375us-gaap:ConvertibleDebtMember2023-01-012023-09-300001200375us-gaap:CashMember2023-09-300001200375us-gaap:CashMember2022-12-310001200375cdxs:LaboratoryEquipmentMember2023-09-300001200375cdxs:LaboratoryEquipmentMember2022-12-310001200375us-gaap:LeaseholdImprovementsMember2023-09-300001200375us-gaap:LeaseholdImprovementsMember2022-12-310001200375us-gaap:ComputerEquipmentMember2023-09-300001200375us-gaap:ComputerEquipmentMember2022-12-310001200375cdxs:OfficeEquipmentAndFurnitureMember2023-09-300001200375cdxs:OfficeEquipmentAndFurnitureMember2022-12-310001200375us-gaap:ConstructionInProgressMember2023-09-300001200375us-gaap:ConstructionInProgressMember2022-12-310001200375cdxs:SanCarlosMember2023-07-012023-09-300001200375cdxs:A2022InducementPlanMember2023-01-310001200375cdxs:A2019PlanMember2019-04-220001200375cdxs:A2019PlanMember2019-06-300001200375cdxs:A2019AmendedPlanMember2023-04-012023-04-300001200375cdxs:A2019AmendedPlanMember2023-04-300001200375us-gaap:EmployeeStockMember2023-06-012023-06-30xbrli:pure0001200375us-gaap:EmployeeStockMember2023-09-300001200375cdxs:IncentiveStockOptionsMember2023-01-012023-09-300001200375cdxs:NonStatutoryStockOptionsMember2023-01-012023-09-300001200375us-gaap:EmployeeStockOptionMember2023-01-012023-09-300001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:EmployeeStockOptionMember2023-01-012023-09-300001200375us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-01-012023-09-300001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:RestrictedStockUnitsRSUMember2023-01-012023-09-300001200375us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-01-012023-09-300001200375us-gaap:PerformanceSharesMember2023-09-30cdxs:installment0001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:PerformanceSharesMember2023-01-012023-09-300001200375us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-01-012023-09-300001200375cdxs:PerformanceShareUnitsPSUsMember2023-01-012023-09-300001200375us-gaap:PerformanceSharesMember2023-01-012023-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2023-01-012023-09-300001200375cdxs:A2022PSUMemberus-gaap:PerformanceSharesMember2023-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2022PBOMember2023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2022PSUAnd2022PBOMemberus-gaap:PerformanceSharesMember2023-01-012023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2022PSUAnd2022PBOMemberus-gaap:PerformanceSharesMembersrt:ScenarioForecastMember2024-01-012024-03-310001200375cdxs:A2021PSUMemberus-gaap:PerformanceSharesMember2022-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2021PBOMember2022-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2021PSUAnd2021PBOMemberus-gaap:PerformanceSharesMember2022-01-012022-03-310001200375cdxs:A2021PSUAnd2021PBOMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2022-01-012022-03-310001200375us-gaap:CostOfSalesMember2023-07-012023-09-300001200375us-gaap:CostOfSalesMember2022-07-012022-09-300001200375us-gaap:CostOfSalesMember2023-01-012023-09-300001200375us-gaap:CostOfSalesMember2022-01-012022-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2023-07-012023-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2022-07-012022-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-07-012023-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-07-012022-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-09-300001200375us-gaap:EmployeeStockOptionMember2023-07-012023-09-300001200375us-gaap:EmployeeStockOptionMember2022-07-012022-09-300001200375us-gaap:EmployeeStockOptionMember2022-01-012022-09-300001200375cdxs:RSAsandRSUsMember2023-07-012023-09-300001200375cdxs:RSAsandRSUsMember2022-07-012022-09-300001200375cdxs:RSAsandRSUsMember2023-01-012023-09-300001200375cdxs:RSAsandRSUsMember2022-01-012022-09-300001200375cdxs:PerformanceStockUnitsMember2023-07-012023-09-300001200375cdxs:PerformanceStockUnitsMember2022-07-012022-09-300001200375cdxs:PerformanceStockUnitsMember2023-01-012023-09-300001200375cdxs:PerformanceStockUnitsMember2022-01-012022-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2023-07-012023-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2022-07-012022-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2022-01-012022-09-300001200375us-gaap:EmployeeStockOptionMember2023-09-300001200375cdxs:RSAsandRSUsMember2023-09-300001200375cdxs:PerformanceStockUnitsMember2023-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2023-09-3000012003752023-02-270001200375cdxs:PiperSandlerCoMember2021-05-012021-05-310001200375srt:MaximumMembercdxs:PiperSandlerCoMember2021-05-310001200375srt:MaximumMembercdxs:PiperSandlerCoMember2021-05-012021-05-310001200375cdxs:PiperSandlerCoMember2023-07-012023-09-300001200375cdxs:PiperSandlerCoMember2023-01-012023-09-300001200375cdxs:PiperSandlerCoMember2023-09-300001200375cdxs:PiperSandlerCoMember2022-07-012022-09-300001200375cdxs:PiperSandlerCoMember2022-01-012022-09-30utr:sqft0001200375cdxs:A200220PenobscotMember2023-09-300001200375cdxs:A400PenoscotMember2023-09-300001200375cdxs:A501ChesapeakeMember2023-09-30cdxs:option0001200375us-gaap:DemandDepositsMember2023-09-300001200375us-gaap:DemandDepositsMember2022-12-310001200375cdxs:SanCarlosMember2021-01-310001200375us-gaap:SubsequentEventMembercdxs:SanCarlosMember2023-10-010001200375us-gaap:SubsequentEventMembercdxs:SanCarlosMember2023-10-012023-10-010001200375cdxs:SanCarlosMember2023-01-012023-09-300001200375cdxs:FacilityMaintenanceAgreementMember2023-09-300001200375cdxs:TermLoanMember2017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-302017-06-300001200375us-gaap:IndemnificationGuaranteeMember2023-09-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-06-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-06-012020-06-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2021-04-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2021-04-012021-04-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesBPreferredStockMember2021-09-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesBPreferredStockMember2021-09-012021-09-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2022-07-012022-09-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2022-01-012022-09-300001200375cdxs:MasterCollaborationResearchAgreementMemberus-gaap:ProductMembercdxs:MolecularAssembliesIncMember2022-07-012022-09-300001200375cdxs:MasterCollaborationResearchAgreementMemberus-gaap:ProductMembercdxs:MolecularAssembliesIncMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:PerformanceEnzymesMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMember2023-07-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:PerformanceEnzymesMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMember2022-07-012022-09-300001200375us-gaap:CorporateNonSegmentMember2023-07-012023-09-300001200375us-gaap:CorporateNonSegmentMember2022-07-012022-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMemberus-gaap:ProductMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:ResearchandDevelopmentRevenueMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:PerformanceEnzymesMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMember2023-01-012023-09-300001200375us-gaap:OperatingSegmentsMembercdxs:PerformanceEnzymesMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2022-01-012022-09-300001200375us-gaap:OperatingSegmentsMember2022-01-012022-09-300001200375us-gaap:CorporateNonSegmentMember2023-01-012023-09-300001200375us-gaap:CorporateNonSegmentMember2022-01-012022-09-300001200375us-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMembercdxs:CustomerAMember2023-07-012023-09-300001200375cdxs:CustomerBMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001200375cdxs:CustomerBMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001200375cdxs:CustomerBMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-09-300001200375cdxs:CustomerCMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerDMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001200375us-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMembercdxs:CustomerEMember2023-01-012023-09-300001200375cdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2022-01-012022-12-310001200375cdxs:CustomerDMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-01-012023-09-300001200375us-gaap:CustomerConcentrationRiskMembercdxs:CustomerEMemberus-gaap:AccountsReceivableMember2022-01-012022-12-310001200375cdxs:CustomerFMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-01-012023-09-300001200375us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMembercdxs:CustomerGMember2023-01-012023-09-300001200375country:US2023-09-300001200375country:US2022-12-310001200375cdxs:PerformanceEnzymesMember2022-12-310001200375cdxs:NovelBiotherapeuticsMember2022-12-310001200375cdxs:PerformanceEnzymesMember2023-01-012023-09-300001200375cdxs:NovelBiotherapeuticsMember2023-01-012023-09-300001200375cdxs:PerformanceEnzymesMember2023-09-300001200375cdxs:NovelBiotherapeuticsMember2023-09-300001200375us-gaap:FinancialAssetNotPastDueMember2023-09-300001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2023-09-300001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2023-09-300001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2023-09-300001200375cdxs:FinancialReceivablesPastDueMember2023-09-300001200375us-gaap:FinancialAssetNotPastDueMember2022-12-310001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2022-12-310001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2022-12-310001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2022-12-310001200375cdxs:FinancialReceivablesPastDueMember2022-12-310001200375us-gaap:OneTimeTerminationBenefitsMember2023-07-012023-07-310001200375us-gaap:EmployeeSeveranceMember2023-07-012023-09-300001200375cdxs:EmployeeRelatedLiabilitiesCurrentMember2023-09-300001200375us-gaap:OneTimeTerminationBenefitsMember2022-11-012022-11-300001200375us-gaap:OneTimeTerminationBenefitsMember2023-07-012023-09-300001200375us-gaap:OneTimeTerminationBenefitsMember2023-01-012023-09-30

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended September 30, 2023
or
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from              to             
Commission file number: 001-34705
___________________________
Codexis, Inc.
(Exact name of registrant as specified in its charter)
_____________________________________________
Delaware 71-0872999
(State or other jurisdiction of incorporation or organization) (I.R.S. Employer Identification No.)
200 Penobscot Drive, Redwood City, California
 94063
(Address of principal executive offices) (Zip Code)

Registrant's telephone number, including area code: (650) 421-8100

Securities registered pursuant to Section 12(b) of the Act:
Title of Each ClassTradingName of Each Exchange on Which Registered
Symbol(s)
Common Stock, par value $0.0001 per shareCDXSThe Nasdaq Global Select Market
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 filerAccelerated filer
Non-accelerated filerSmaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the 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 October 30, 2023, there were 69,830,199 shares of the registrant’s Common Stock, par value $0.0001 per share, outstanding.

1




Codexis, Inc.
Quarterly Report on Form 10-Q
For the Quarter Ended September 30, 2023


TABLE OF CONTENTS

2



PART I. FINANCIAL INFORMATION
Item 1. Financial Statements
Codexis, Inc.
Condensed Consolidated Balance Sheets
(Unaudited)
(In Thousands, Except Per Share Amounts)
September 30, 2023December 31, 2022
Assets
Current assets:
Cash and cash equivalents$74,577 $113,984 
Restricted cash, current991 521 
Financial assets:
Accounts receivable11,629 31,904 
Contract assets1,936 2,116 
Unbilled receivables5,661 7,016 
Total financial assets19,226 41,036 
Less: allowances(133)(163)
Total financial assets, net19,093 40,873 
Inventories2,305 2,029 
Prepaid expenses and other current assets5,402 5,487 
Assets held for sale646  
Total current assets103,014 162,894 
Restricted cash1,062 1,521 
Investment in non-marketable equity securities ($0 and $13,921 with a related party)
18,013 20,510 
Right-of-use assets - Operating leases, net13,895 39,263 
Property and equipment, net15,282 22,614 
Goodwill2,463 3,241 
Other non-current assets726 350 
Total assets$154,455 $250,393 
Liabilities and Stockholders' Equity
Current liabilities:
Accounts payable$3,098 $3,246 
Accrued compensation10,521 11,453 
Other accrued liabilities8,796 15,279 
Current portion of lease obligations - Operating leases6,764 5,360 
Deferred revenue9,236 13,728 
Total current liabilities38,415 49,066 
Deferred revenue, net of current portion10,100 16,881 
Long-term lease obligations - Operating leases13,215 38,278 
Other long-term liabilities1,219 1,371 
Total liabilities62,949 105,596 
Commitments and Contingencies (Note 10)
Stockholders' equity:
Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding
  
Common stock, $0.0001 par value per share; 200,000 shares authorized;
69,827 shares and 65,811 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively
6 6 
Additional paid-in capital581,838 566,081 
Accumulated deficit(490,338)(421,290)
Total stockholders' equity91,506 144,797 
Total liabilities and stockholders' equity$154,455 $250,393 

See accompanying notes to the unaudited condensed consolidated financial statements.
3



Codexis, Inc.
Condensed Consolidated Statements of Operations
(Unaudited)
(In Thousands, Except Per Share Amounts)
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Revenues:
Product revenue ($0, $215, $0, and $358 from a related party)
$5,395 $28,042 $24,807 $93,376 
Research and development revenue ($0, $1,000, $0, and $1,245 from a related party)
3,882 6,428 18,775 14,839 
Total revenues9,277 34,470 43,582 108,215 
Costs and operating expenses:
Cost of product revenue2,249 9,786 9,947 29,577 
Research and development13,662 21,821 47,651 60,410 
Selling, general and administrative12,302 13,499 41,066 39,859 
Restructuring charges3,140  3,284  
Asset impairment and other charges9,984  9,984  
Total costs and operating expenses41,337 45,106 111,932 129,846 
Loss from operations(32,060)(10,636)(68,350)(21,631)
Interest income1,056 436 3,266 618 
Other income (expense), net
(3,895)216 (3,930)150 
Loss before income taxes(34,899)(9,984)(69,014)(20,863)
Provision for income taxes9 8 34 125 
Net loss$(34,908)$(9,992)$(69,048)$(20,988)
Net loss per share, basic and diluted$(0.50)$(0.15)$(1.02)$(0.32)
Weighted average common stock shares used in computing net loss per share, basic and diluted69,466 65,426 67,670 65,271 
See accompanying notes to the unaudited condensed consolidated financial statements.
4



Codexis, Inc.
Condensed Consolidated Statements of Stockholders' Equity
(Unaudited)
(In Thousands)
Common StockAdditional
Paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three Months Ended September 30, 2023SharesAmount
Balance as of July 1, 2023
69,804 $6 $579,555 $(455,430)$124,131 
Release of stock awards23 — — — — 
Employee stock-based compensation— — 2,283 — 2,283 
Net loss— — — (34,908)(34,908)
Balance as of September 30, 2023
69,827 $6 $581,838 $(490,338)$91,506 

Common StockAdditional
Paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three Months Ended September 30, 2022SharesAmount
Balance as of July 1, 2022
65,494 $6 $558,147 $(398,694)$159,459 
Exercise of stock options77 — 180 — 180 
Release of stock awards47 — — — — 
Employee stock-based compensation— — 4,516 — 4,516 
Non-employee stock-based compensation— — 15 — 15 
Taxes paid related to net share settlement of equity awards(5)— (47)— (47)
Net loss— — — (9,992)(9,992)
Balance as of September 30, 2022
65,613 $6 $562,811 $(408,686)$154,131 

See accompanying notes to the unaudited condensed consolidated financial statements.
5



Codexis, Inc.
Condensed Consolidated Statements of Stockholders' Equity
(Unaudited)
(In Thousands)
Common StockAdditional
Paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Nine Months Ended September 30, 2023SharesAmount
Balance as of January 1, 2023
65,811 $6 $566,081 $(421,290)$144,797 
Exercise of stock options214 — 422 — 422 
Release of stock awards787 — — — — 
Employee stock-based compensation— — 7,808 — 7,808 
Issuance of common stock, net of issuance costs of $721
3,080 — 7,931 — 7,931 
Taxes paid related to net share settlement of equity awards(65)— (404)— (404)
Net loss— — — (69,048)(69,048)
Balance as of September 30, 2023
69,827 $6 $581,838 $(490,338)$91,506 

Common StockAdditional
Paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Nine Months Ended September 30, 2022SharesAmount
Balance as of January 1, 2022
65,109 $6 $552,083 $(387,698)$164,391 
Exercise of stock options252 — 612 — 612 
Release of stock awards332 — — — — 
Employee stock-based compensation— — 11,467 — 11,467 
Non-employee stock-based compensation— — 133 — 133 
Taxes paid related to net share settlement of equity awards(80)— (1,484)— (1,484)
Net loss— — — (20,988)(20,988)
Balance as of September 30, 2022
65,613 $6 $562,811 $(408,686)$154,131 

See accompanying notes to the unaudited condensed consolidated financial statements.
6



Codexis, Inc.
Condensed Consolidated Statements of Cash Flows
(Unaudited)
(In Thousands)
Nine Months Ended September 30,
 20232022
Operating activities:
Net loss$(69,048)$(20,988)
Adjustments to reconcile net loss to net cash provided by (used in) operating activities:
Depreciation4,302 3,961 
Amortization expense - right-of-use assets - operating and finance leases3,647 3,618 
Stock-based compensation7,808 11,600 
Provision (recovery) for credit losses (307)
Equity securities earned from research and development activities ($0 and $1,245 from a related party)
(187)(1,245)
Unrealized gain on non-marketable securities
 (208)
Asset impairment and other charges9,984  
Impairment of investment in non-marketable equity securities
3,875  
Other non-cash items(3)(29)
Changes in operating assets and liabilities:
Financial assets21,580 8,184 
Inventories(276)(463)
Prepaid expenses and other assets(252)429 
Accounts payable(105)(351)
Accrued compensation and other accrued liabilities(7,269)2,279 
Other long-term liabilities(4,384)(3,863)
Deferred revenue(11,273)3,750 
Net cash provided by (used in) operating activities
(41,601)6,367 
Investing activities:
Purchase of property and equipment(4,798)(8,340)
Proceeds from sale of property and equipment27 29 
Investment in non-marketable securities(1,191)(5,300)
Net cash used in investing activities(5,962)(13,611)
Financing activities:
Proceeds from exercises of stock options422 612 
Proceeds from issuance of common stock in connection with public offering8,652  
Costs incurred in connection with issuance of common stock at public offering(503)(42)
Taxes paid related to net share settlement of equity awards(404)(1,484)
Net cash provided by (used in) financing activities8,167 (914)
Net decrease in cash, cash equivalents and restricted cash(39,396)(8,158)
Cash, cash equivalents and restricted cash at the beginning of the period116,026 118,895 
Cash, cash equivalents and restricted cash at the end of the period$76,630 $110,737 
Supplemental disclosure of cash flow information:
Interest paid$28 $22 
Income taxes paid$193 $100 
Supplemental non-cash investing and financing activities:
Capital expenditures incurred but not yet paid$159 $128 
7



The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the unaudited condensed consolidated balance sheets as of September 30, 2023 and 2022 to the total of the same such amounts shown above in the unaudited condensed consolidated statements of cash flows:
 September 30,
 20232022
Cash and cash equivalents$74,577 $108,689 
Restricted cash, current and non-current 2,053 2,048 
Total cash, cash equivalents and restricted cash$76,630 $110,737 

See accompanying notes to the unaudited condensed consolidated financial statements.
8



Codexis Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
Note 1. Description of Business
In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.
We discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins leveraging our proprietary CodeEvolver® directed evolution platform.
As of September 30, 2023, we reported our financial results based on two reportable segments: Performance Enzymes and Novel Biotherapeutics. Our Performance Enzymes business consists primarily of two focus areas: i) biocatalysts for the enzymatic manufacturing of pharmaceuticals and ii) enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. Our Novel Biotherapeutics business includes product candidates in clinical and preclinical development. The segment information aligns with how the chief operating decision maker (CODM), who is our Chief Executive Officer (CEO), reviews and manages the business. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.
Note 2. Basis of Presentation and Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2022. 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 disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2022 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2022.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2023, results of our operations for the three and nine months ended September 30, 2023 and 2022, changes in stockholders' equity for the three and nine months ended September 30, 2023 and 2022, and cash flows for the nine months ended September 30, 2023 and 2022. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.
The unaudited condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, deferred revenue, inventories, valuation of equity investments, valuation of assets held for sale, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.
9


Impairment of Long-Lived Assets
We evaluate the carrying values of long-lived assets, which include property and equipment and right-of-use assets, whenever events, changes in business circumstances or our planned use of long-lived assets indicate that their carrying amounts may not be fully recoverable or that their useful lives are no longer appropriate. If these facts and circumstances exist, we assess for recovery by comparing the carrying values of long-lived assets with the future net undiscounted cash flows expected to be generated by the asset. If such assets are considered to be impaired, the impairment to be recognized is measure by the amount by which the carrying amount of the asset exceeds the fair value of the asset. For additional information on the impairment charge recorded in the three and nine months ended September 30, 2023, see Note 7, “Balance Sheets Details” and Note 10, “Commitments and Contingencies.”
Assets Held For Sale
The Company classifies assets as held for sale when the following conditions are met: (i) management has committed to a plan to sell, (ii) the assets are available for immediate sale in their present condition, (iii) the Company has initiated an active program to identify a buyer, (iv) it is probable that a sale will occur within one year, (v) the assets are actively marketed for sale at a reasonable price in relation to their current fair value, and (vi) there is a low likelihood of significant changes to the plan or that the plan will be withdrawn. If all of the criteria are met as of the balance sheet date, the assets are presented separately in the consolidated balance sheet as held for sale at the lower of the carrying amount or fair value less costs to sell. The assets are then no longer depreciated or amortized while classified as held for sale. For additional information, see Note 15, “Assets Held For Sale.”
Accounting Pronouncements
Recently adopted accounting pronouncements or recently issued accounting pronouncements not yet adopted
There were no recent accounting pronouncements or changes in accounting pronouncements during the three and nine months ended September 30, 2023, that are of significance or potential significance to us.
Note 3. Revenue Recognition
Disaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).
Segment information is as follows (in thousands):
Three Months Ended September 30, 2023Three Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$5,395 $ $5,395 $28,042 $ $28,042 
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 
Primary geographical markets:
Americas$4,278 $ $4,278 $3,654 $1,168 $4,822 
EMEA2,624 567 3,191 3,831 2,156 5,987 
APAC1,808  1,808 23,661  23,661 
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 
10


Nine Months Ended September 30, 2023Nine Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$24,807 $ $24,807 $93,376 $ $93,376 
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 
Primary geographical markets:
Americas$8,865 $1,933 $10,798 $8,514 $3,653 $12,167 
EMEA10,484 4,146 14,630 11,017 3,788 14,805 
APAC18,154  18,154 81,243  81,243 
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 
Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
September 30, 2023December 31, 2022
Contract assets$1,936 $2,116 
Unbilled receivables$5,661 $7,016 
Contract costs$ $19 
Contract liabilities: deferred revenue$19,336 $30,609 
We had no asset impairment charges related to financial assets in the three and nine months ended September 30, 2023 and 2022.
The decrease in contract assets was primarily due to decreases in product revenue from contracts subject to over time revenue recognition. The decrease in unbilled receivables was primarily due to the timing of billings. The decrease in deferred revenue was primarily due to timing of recognition of revenue, including the $2.9 million release of prior periods' product revenue deferrals during the second quarter of 2023 due to early termination of the enzyme supply obligations to a customer.
We recognized the following revenues (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
Revenue recognized in the period for:2023202220232022
Amounts included in contract liabilities at the beginning of the period:
Performance obligations satisfied$1,303 $889 $9,111 $1,694 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods1,018 495 4,238 365 
Performance obligations satisfied from new activities in the period - contract revenue6,956 33,086 30,233 106,156 
Total revenues$9,277 $34,470 $43,582 $108,215 
Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2023.
11


The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of September 30, 2023 (in thousands):
Remainder of 2023
20242025
2026 and Thereafter
Total
Product revenue$8,446 $9,590 $140 $500 $18,676 
Research and development revenue660    660 
Total revenues$9,106 $9,590 $140 $500 $19,336 
Note 4. Net Loss per Share
Basic net loss per share is computed by dividing the net loss by the weighted-average number of shares of common stock outstanding, less restricted stock awards ("RSAs") subject to forfeiture. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock shares outstanding, less RSAs subject to forfeiture, plus all additional common shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities. For all periods presented, diluted and basic net loss per share, are identical since potential common stock shares are excluded from the calculation, as their effect was anti-dilutive.
Anti-Dilutive Securities
In periods of net loss, the weighted average number of shares outstanding, prior to the application of the treasury stock method, excludes potentially dilutive securities from the computation of diluted net loss per common share because including such shares would have an anti-dilutive effect.
The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Shares issuable under the Equity Incentive Plan8,8736,6048,8736,604
Note 5. Investments in Non-Marketable Securities
Non-Marketable Equity Securities
In March 2023, we purchased an additional 985,545 shares of Series B preferred stock for $0.8 million in Molecular Assemblies, Inc. (“MAI”), a privately held life sciences company. As of September 30, 2023, we held an aggregate of 19,277,914 shares of MAI's Series A and B preferred stock that we have earned or purchased from MAI. See Note 11 “Related Party Transactions” for additional information on our investment in MAI.
In March 2022, we entered into a Stock Purchase Agreement with seqWell, Inc. (“seqWell”), a privately held life sciences company, pursuant to which we purchased 1,000,000 shares of seqWell's Series C preferred stock for $5.0 million. In March 2023, we entered into a Master Collaboration Agreement and Research Agreement with seqWell (the “seqWell Agreement”), pursuant to which we are providing research and experimental screening and protein engineering activities in exchange for compensation in the form of additional shares of seqWell's common stock. In addition to our initial equity investment and the shares we have received under the seqWell Agreement, in September 2023, we purchased an additional 88,256 shares of seqWell's Series C-1 preferred stock and 44,128 common stock warrants for $0.4 million. We received 65,982 and 179,897 shares of seqWell's common stock from research and development services with seqWell and we recognized $69 thousand and $187 thousand in research and development revenue from these services during the three and nine months ended September 30, 2023, respectively.
We own 207,070 shares of Series B-2 preferred stock of Arzeda Corp. (“Arzeda”), an early-stage computational protein design company.
12


Our non-marketable equity securities are investments in privately held companies without readily determinable market value and primarily relate to our investments in MAI, seqWell and Arzeda. These investments are accounted for under the measurement alternative and are measured at cost minus impairment, if any, plus or minus changes resulting from observable price changes for identical or similar securities of the same issuer. Non-marketable equity securities are measured at fair value on a non-recurring basis and classified within Level 2 in the fair value hierarchy when we estimate the fair value of these investments using the observable transaction price paid by third party investors for the same or similar security of the same issuers. The fair value of non-marketable equity securities are classified within Level 3 when we estimate fair value using unobservable inputs such as when we remeasure due to impairment and we use discount rates, market data of comparable companies, and rights and obligations of the securities the Company holds, among others. We adjust the carrying value of non-marketable equity securities which have been remeasured during the period and recognize resulting gains or losses as a component of other expense, net in the unaudited condensed consolidated statements of operations.
For the three months ended September 30, 2023, we recognized an impairment charge of $3.9 million and included this as adjustment to the carrying value of our investments in seqWell and Arzeda. This adjustment, which is presented within other income (expense), net in the condensed consolidated statements of operations, is related to the write-down of the carrying value of our investments in seqWell by $3.0 million and in Arzeda by $0.9 million to its estimated fair values as determined based on valuation methods using the recent transaction price of similar preferred stock securities issued by the investees and adjusted for the rights and obligations of the preferred stock securities the Company holds. For the three months ended September 30, 2022, we recognized a $0.2 million unrealized gain and included as adjustment to the carrying value of our investment in MAI, for the remeasurement of the additional 1,587,049 shares of Series B preferred stock received as milestone payment during the three months ended September 30, 2022 based on the latest observed transaction price of MAI's preferred stock. There was no remeasurement event for our investments in other non-marketable equity securities that occurred during the three and nine months ended September 30, 2023 and 2022. We recognized no realized gains or losses during the three and nine months ended September 30, 2023 and 2022.
The following table presents the carrying value of our non-marketable equity securities (in thousands):
 September 30, 2023December 31, 2022
MAI
$14,671 $13,921 
seqWell2,598 5,000 
Arzeda444 1,289 
Other investments in non-marketable equity securities300 300 
Total non-marketable equity securities$18,013 $20,510 
Note 6. Fair Value Measurements
The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):
 September 30, 2023
 Level 1Level 2Level 3Total
Money market funds $65,585 $ $ $65,585 
 December 31, 2022
 Level 1Level 2Level 3Total
Money market funds $77,309 $ $ $77,309 
During the three and nine months ended September 30, 2023 and 2022, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities.
The investments in non-marketable securities that have been remeasured due to an observable event or impairment are classified within Level 3 in the fair value hierarchy because we estimate the value based on valuation methods which may include a combination of the observable transaction price at the transaction date and other unobservable inputs including rights and obligations of the investments we hold. For additional information, see Note 5, “Investments in Non-Marketable Securities.”
13


As of September 30, 2023, the Company had classified $0.6 million of laboratory equipment, net of accumulated depreciation, that it intends to sell within the next quarter and that meets the held for sale criteria, to assets held for sale in the condensed consolidated balance sheet. The estimated fair values (Level 2 fair value measurements) were determined based on the quoted proceeds from the sale of these assets less costs to sell. For additional information, see Note 15, “Assets Held For Sale.”
Note 7. Balance Sheets Details
Cash Equivalents
Cash equivalents as of September 30, 2023 and December 31, 2022, consisted of the following (in thousands):
 September 30, 2023December 31, 2022
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$65,585 $65,585 $77,309 $77,309 
(1) Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets. Average contractual maturities (in days) is not applicable.
As of September 30, 2023, the total cash and cash equivalents balance of $74.6 million consisted of money market funds of $65.6 million and cash of $9.0 million held with major financial institutions. As of December 31, 2022, the total cash and cash equivalents balance of $114.0 million consisted of money market funds of $77.3 million and cash of $36.7 million held with major financial institutions.
Inventories
Inventories consisted of the following (in thousands):
September 30, 2023December 31, 2022
Raw materials$108 $108 
Work-in-process 91 
Finished goods2,197 1,830 
Total Inventories$2,305 $2,029 
Inventories are recorded net of reserves of $1.4 million as of September 30, 2023 and December 31, 2022.
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
September 30, 2023December 31, 2022
Laboratory equipment$36,376 $39,679 
Leasehold improvements11,750 16,633 
Computer equipment and software3,096 3,039 
Office equipment and furniture1,366 1,345 
Construction in progress1,781 1,739 
Property and equipment54,369 62,435 
Less: accumulated depreciation and amortization(39,087)(39,821)
Property and equipment, net
$15,282 $22,614 
During the three and nine months ended September 30, 2023, the Company recorded a non-cash impairment charge of $4.7 million associated with the San Carlos facility leasehold improvements. For additional information, see Note 10, “Commitments and Contingencies.”
14


As of September 30, 2023, the Company had classified $2.1 million of laboratory equipment, net of accumulated depreciation, that it intends to sell within the next quarter and that meets the held for sale criteria, to assets held for sale. The Company determined that the carrying value of the assets held for sale exceeds fair value less costs to sell, which resulted in a write-down of $1.5 million, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the quarter ended September 30, 2023. As of September 30, 2023, the Company has presented $0.6 million of assets held for sale in the condensed consolidated balance sheet. For additional information, see Note 15, “Assets Held For Sale.”
Depreciation expense included in both research and development expenses and selling, general and administrative expenses in the unaudited condensed consolidated statements of operations was as follows (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Depreciation expense$1,357 $1,405 $4,302 $3,961 


 Goodwill
Goodwill
Balance at January 1, 2023
$3,241 
Impairment(778)
Balance at September 30, 2023
$2,463 
Goodwill was allocated to each of the Company's reporting units. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics. As a result of this plan, the Company determined that a triggering event had occurred that required an interim goodwill impairment test during the third quarter of 2023. Based on the results of the impairment evaluation, the Company determined that the goodwill within the Novel Biotherapeutics reporting unit was impaired, which resulted in a non-cash impairment charge of $0.8 million to write off all of the associated goodwill. The impairment charge is recorded within the asset impairment and other charges in the condensed consolidated statements of operation for the three and nine months ended September 30, 2023. Goodwill had a carrying value of $2.5 million and $3.2 million as of September 30, 2023 and December 31, 2022, respectively.
Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
September 30, 2023December 31, 2022
Accrued professional and outside service fees$5,149 $3,495 
Accrued purchases 2,644 10,852 
Other1,003 932 
Total other accrued liabilities$8,796 $15,279 
Note 8. Stock-based Compensation
Equity Incentive Plans
In January 2023, our board of directors (the “Board”) approved the 2022 Employment Inducement Award Plan (the “2022 Inducement Plan”) which provides for the grant of non-qualified stock options, restricted stock awards (“RSAs”), restricted stock units (“RSUs”), performance awards, other stock awards and dividend equivalents to eligible employees with respect to an aggregate of up to 2,000,000 shares of our common stock. In June 2023, the 2022 Inducement Plan was terminated upon the approval of an amendment to the Company's 2019 Incentive Award Plan (the “2019 Plan”) at the 2023 annual meeting of the Company's stockholders (the “Annual Meeting”).
15


In 2019, the Board and stockholders approved the 2019 Plan. The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder. The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, RSUs, RSAs, PSUs, PBOs, stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants. The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, RSA, RSUs, performance-contingent restricted stock units (“PSUs”), performance based options (“PBOs”), other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.
The number of shares of our common stock that were initially available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited. In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”). In April 2023, the Board approved an amendment to the 2019 Plan (the “2019 Amended Plan”) which became effective upon stockholders' approval at the Annual Meeting in June 2023. The 2019 Amended Plan included the (i) increase in the number of shares available by 8,000,000 shares, such that an aggregate of 15,897,144 shares are reserved for issuance under the 2019 Amended Plan and any shares subject to awards granted under the 2010 Plan, and (ii) increase in the number of shares that may be granted as incentive stock options under the 2019 Amended Plan such that an aggregate of 22,000,000 shares of common stock may be granted as incentive stock options under the 2019 Amended Plan.
Employee Stock Purchase Plan
In April 2023, the Board approved an employee stock purchase plan (the “ESPP”) which became effective upon approval at the Annual Meeting in June 2023 of the Company's stockholders. The ESPP allows eligible employees of the Company to purchase shares of our common stock through payroll deductions over 24-month offering periods. The per share purchase price will be the lower of 85% of the closing trading price per share of our common stock on the first trading date of an offering period in which a participant is enrolled or 85% of the closing trading price per share on the purchase date. Participant purchases are limited to a maximum of $25,000 of fair value of our stock per calendar year. The Company is authorized to grant up to 2,000,000 shares of common stock under the ESPP. As of September 30, 2023, the Company had not issued any shares of common stock nor recognized any stock-based compensation expenses related to the ESPP.
Stock Options
The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is at least 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of ten years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.
Restricted Stock Units ("RSUs")
We also grant employees RSUs, which generally vest over either a three year period with 33% of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.
16


Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")
In prior years, the compensation committee of the Board approved grants of PBOs and PSUs to our executives, and solely in respect of non-executive employees, delegated to our CEO the authority to approve grants of PSUs. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement, as determined by the compensation committee of the Board, and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs.
No PSUs and PBOs were granted during the nine months ended September 30, 2023. In 2022, we awarded PSUs ("2022 PSUs") and PBOs ("2022 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including finance and corporate strategy, performance enzymes and biotherapeutics deliverables, research plans, and organizational development. In the first quarter of 2023, the compensation committee of the Board determined that the 2022 PSUs and 2022 PBOs performance goals had been achieved at 85% and 42.5% of the target level, respectively, and recognized stock-based compensation expenses accordingly. Accordingly, 50% of the shares underlying the 2022 PSUs and PBOs vested in the first quarter of 2023 and 50% of the shares underlying the 2022 PSUs and PBOs will vest in the first quarter of 2024, in each case, subject to the recipient’s continued service on each vesting date.
In 2021, we awarded PSUs ("2021 PSUs") and PBOs ("2021 PBOs"), each of which commence vesting based upon the determination by the compensation committee of the Board of the achievement of various weighted performance goals, including total revenues, product revenue, performance enzymes pipeline advancements, biotherapeutics pipeline advancements, organization and infrastructure upgrades, and significant events that can be publicly announced. In the first quarter of 2022, we determined that the 2021 PSUs and 2021 PBOs performance goals had been achieved at 146% and 73% of the target level, respectively, and recognized stock-based compensation expenses accordingly. Accordingly, 50% of the shares underlying the 2021 PSUs and PBOs vested in the first quarter of 2022 and 50% of the shares underlying the 2021 PSUs and PBOs vested in the first quarter of 2023, in each case, subject to the recipient’s continued service on each vesting date.
Stock-Based Compensation Expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Cost of product revenue$60 $124 $272 $367 
Research and development 450 1,045 1,978 3,110 
Selling, general and administrative1,773 3,362 5,558 8,123 
Total$2,283 $4,531 $7,808 $11,600 
17


The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Stock options$1,017 $1,679 $3,035 $3,279 
RSUs and RSAs942 1,290 3,441 3,785 
PSUs292 965 1,408 2,279 
PBOs32 597 (76)2,257 
Total$2,283 $4,531 $7,808 $11,600 
As of September 30, 2023, unrecognized stock-based compensation expense, net of expected forfeitures, was $9.4 million related to unvested stock options, $6.0 million related to unvested RSUs and RSAs, $0.5 million related to unvested PSUs, and $0.1 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through 2027.
Note 9. Capital Stock
Exercise of Options
For the nine months ended September 30, 2023 and September 30, 2022, we issued 214,284 and 252,100 shares, respectively, upon option exercises at a weighted-average exercise price of $1.97 and $2.43 per share, respectively, with net cash proceeds of $0.4 million and $0.6 million, respectively.
Equity Distribution Agreement
In May 2021, we filed a Registration Statement on Form S-3 with the SEC, that automatically became effective upon its filing, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contracts, and units from time to time in one or more offerings. On February 27, 2023, we filed a post-effective amendment to that Registration on Form S-3. Pursuant to that post-effective amendment, we registered an aggregate $200.0 million of securities. In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler & Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. Under the terms of the EDA, PSC may sell the shares at market prices by any method that is deemed to be an "at the market offering" as defined in Rule 415 under the Securities Act.
We are not required to sell any shares at any time during the term of the EDA. The EDA will terminate upon the earlier of: (i) the issuance and sale of all shares through PSC on the terms and conditions of the EDA, or (ii) the termination of the EDA in accordance with its terms. Either party may terminate the EDA at any time upon written notification to the other party in accordance with the EDA, and upon such notification, the offering will terminate. Under no circumstances shall any shares be sold pursuant to the EDA after the date which is three years after the registration statement is first declared effective by the SEC. We agreed to pay PSC a commission of 3% of the gross sales price of any shares sold pursuant to the EDA. With the exception of certain expenses, we will pay PSC up to 8% of the gross sales price of the shares sold pursuant to the EDA for a combined amount of commission and reimbursement of PSC's expenses and fees.
No shares of our common stock were issued and sold under the EDA during the three months ended September 30, 2023. During the nine months ended September 30, 2023, 3,079,421 shares of our common stock were issued and sold pursuant to the EDA. During the nine months ended September 30, 2023, we received gross proceeds of $8.7 million or $7.9 million in net proceeds after PSC's commissions and direct offering expenses of $0.7 million. As of September 30, 2023, $41.3 million of shares remained available for sale under the EDA. During the three and nine months ended September 30, 2022, no shares of our common stock were issued pursuant to the EDA.
18


Note 10. Commitments and Contingencies
Operating Leases
Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in multiple buildings within the same business park operated by Metropolitan Life Insurance Company ("MetLife"). Our lease agreement with MetLife ("RWC Lease") includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “200/220 Penobscot Space”) and approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “400 Penobscot Space”) (the 200/220 Penobscot Space and the 400 Penobscot Space are collectively referred to as the “Penobscot Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”).
We entered into the initial lease with MetLife for our facilities in Redwood City in 2004 and the RWC Lease has been amended multiple times since then to adjust the leased space and terms of the Lease. In February 2019, we entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife with respect to the Penobscot Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have one (1) option to extend the term of the lease for the Penobscot Space for five (5) years, and one (1) separate option to extend the term of the lease for the 501 Chesapeake Space for five (5) years.
Pursuant to the terms of the RWC Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of September 30, 2023 and December 31, 2022, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.
In January 2021, we entered into a lease agreement with ARE-San Francisco No. 63, LLC ("ARE") to lease a portion of a facility consisting of approximately 36,593 rentable square feet in San Carlos, California to serve as additional office and research and development laboratory space (the "San Carlos Space"). The lease has a 10-year term from the lease commencement date of November 30, 2021 with one option to extend the term for an additional period of 5 years.
In July 2023, we announced our plan to consolidate operations from our San Carlos facility to our headquarters in Redwood City. On September 1, 2023, the Company entered into an Assignment and Assumption of Lease (the “Assignment Agreement”) with Vaxcyte, Inc. (“Vaxcyte”), pursuant to which the Company agreed to assign to Vaxcyte, and Vaxcyte agreed to assume from the Company, all of the Company’s right, title and interest in, under and to the San Carlos Space and the Lease Agreement, dated as of January 29, 2021. On September 6, 2023, the Company, Vaxcyte and ARE entered into a Consent to Assignment and First Amendment (the “Consent”) pursuant to which ARE consented to the Assignment Agreement and the assignment by the Company and the assumption by Vaxcyte of the Company’s interest as tenant in the lease and agreed to release the Company from all of its obligations under the lease that accrue from and after the assignment, and following the assignment, to return the Company's security deposit of approximately $0.5 million provided to ARE in the form of a letter of credit. Under the Assignment Agreement, the Company will prepay to ARE (i) the base rent, as defined in the lease agreement, with respect to the three-month period commencing on the date of the assignment and (ii) certain amounts payable to ARE in connection with tenant improvements completed by ARE pursuant to the lease, which amounted to $3.1 million. In connection with the Consent, ARE agreed that neither the Company nor Vaxcyte will be required to remove any existing alterations or improvements to the San Carlos Space. The effective date of the assignment was October 1, 2023, which under the terms of the Assignment Agreement was the earlier of (i) the date Vaxcyte occupies the San Carlos Space for the operation of business or (ii) the date the Company vacated and decommissioned the San Carlos Space and certain other customary conditions were satisfied. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit which we expected to be released in the fourth quarter of 2023 following the effectiveness of the lease assignment in October 1, 2023 and which is recorded as current restricted cash on the condensed consolidated balance sheet.
As a result of the Assignment Agreement, the Company remeasured the lease obligation for the San Carlos Space as $3.1 million, or the present value of the remaining lease payments, which consist of the remaining rent through the effectiveness of the lease assignment and certain amounts payable to ARE pursuant to the Assignment Agreement, and wrote off the remaining lease liability of $19.6 million and the corresponding right of use asset balance. Simultaneously, the Company determined that indicators of impairment existed because the lease assignment will impact the utilization of the related right of use assets and leasehold improvements in the San Carlos Space, and therefore performed a recoverability test by estimating future undiscounted net cash flows expected to be generated from the use of these assets. As there were no substantial future cash inflows associated with these assets, the carrying values of these assets were deemed unrecoverable. As a result, the Company recognized a non-cash impairment charge of $7.7 million, of which $4.7 million is related to leasehold improvements and $3.0 million for the right of use assets, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the three and nine months ended September 30, 2023.
19


The tables below tables below show the balance of right-of-use assets and lease obligations as of January 1, 2023 and the balance as of September 30, 2023, including the changes during the period (in thousands):
Right-of-use Assets - Operating Lease, net
Right-of-use assets - Operating leases, net, at January 1, 2023
$39,263 
Amortization of right-of-use assets
(3,647)
Additions
898 
Remeasurement due to lease modification
(19,622)
Impairment
(2,997)
Right-of-use assets - Operating leases, net, at September 30, 2023
$13,895 

Lease Obligations - Operating Leases
Lease obligations - Operating leases, net, at January 1, 2023
$43,638 
Lease payments
(5,668)
Interest accretion
1,631 
Remeasurement due to lease modification
(19,622)
Lease obligations - Operating leases, net, at September 30, 2023
$19,979 
We are required to restore certain areas of the Redwood City facility that we are renting to its original form. We are expensing the asset retirement obligation over the term of the Redwood City lease. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.3 million and $0.5 million as of September 30, 2023 and December 31, 2022, respectively, which are included in other liabilities on the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal in the three and nine months ended September 30, 2023 and 2022.
Lease and other information
Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Finance lease costs$ $ $ $18 
Operating lease costs1,618 1,831 5,278 5,491 
Short-term lease costs (1)
   40 
Total lease costs (2)
$1,618 $1,831 $5,278 $5,549 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
(2) The Company had no variable lease costs.
Other information:Operating Leases
Weighted-average remaining lease term (in years)3.4 years
Weighted-average discount rate6.7 %
Nine Months Ended September 30,
Cash paid (in thousands):
20232022
Operating cash flows from operating leases$5,668 $4,658 
20


As of September 30, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases were as follows (in thousands):
Years Ending December 31,Operating Leases
2023 (remaining 3 months)$4,229 
20244,727 
20254,868 
20265,014 
20272,533 
Thereafter1,078 
Total minimum lease payments22,449 
Less: imputed interest2,470 
Lease obligations$19,979 
Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:
Current portion of lease obligations - Operating leases$6,764 
Long-term lease obligations - Operating leases13,215 
Total operating lease liabilities$19,979 
Other Commitments
We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Payments Due by Period
Total2023 (Remaining 3 Months)2024 and Thereafter
Facility maintenance agreement$1,084 $1,039 $45 
Credit Facility
In June 30, 2017, we entered into a credit facility (the “Credit Facility”) with Western Alliance Bank consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. The right to take draws on the Term Debt expired on December 31, 2022. In March 2023, we terminated the Credit Facility with Western Alliance Bank.
Legal Proceedings
We may be involved in legal actions in the ordinary course of business, including inquiries and proceedings concerning business practices and intellectual property infringement, employee relations and other claims. We will recognize a loss contingency in the unaudited condensed consolidated financial statements when it is probable a liability has been incurred and the amount of the loss can be reasonably estimated. We will disclose any loss contingencies that do not meet both conditions if there is a reasonable possibility that a material loss may have been incurred. Gain contingencies are not recorded until they are realized.
21


Indemnifications
We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.
Note 11. Related Party Transactions
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with MAI, a privately held life sciences company, pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. Mr. Nicols, our former President and CEO until August 2022, also joined MAI’s board of directors in June 2020. Concurrently with our initial equity investment, we entered into a Master Collaboration and Research Agreement with MAI (the “MAI Agreement”), pursuant to which performed services utilizing our CodeEvolver® protein engineering platform technology to improve DNA polymerase enzymes in exchange for compensation in the form of additional shares of MAI's Series A and B preferred stock which are valued based on the observed transaction price of similar securities that MAI issued to third parties. We completed the R&D service with MAI pursuant to the MAI Agreement during the first quarter of 2022. In addition to our initial equity investment and the shares we have received under the MAI Agreement, in April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million and in September 2021, we purchased 9,198,423 shares of MAI's Series B preferred stock for $7.0 million.
Revenues recognized from transactions with MAI in the three and nine months ended September 30, 2023, and subsequent to the related party period which ended in August 2022, are included in the condensed consolidated statement of operations. We recognized $1.0 million and $1.2 million in research and development revenue from transactions with MAI in the three and nine months ended September 30, 2022, respectively, and we recognized $0.2 million and $0.4 million in product revenue from transactions with MAI in the three and nine months ended September 30, 2022, respectively, during the related party period.
Note 12. Segment, Geographical and Other Revenue Information
Segment Information
As of September 30, 2023, we managed our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. All of our long lived assets are located in the United States.
Factors considered in historically determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
22


The following table provides financial information by our reportable business segments along with a reconciliation to consolidated loss before income taxes (in thousands):
Three Months Ended September 30, 2023Three Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$5,395 $ $5,395 $28,042 $ $28,042 
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 
Total revenues8,710 567 9,277 31,146 3,324 34,470 
Costs and operating expenses:
Cost of product revenue2,249  2,249 9,786  9,786 
Research and development (1)
8,146 4,377 12,523 6,782 13,855 20,637 
Selling, general and administrative (1)
1,748 386 2,134 3,791 888 4,679 
Restructuring charges1,182 1,217 2,399    
Asset impairment and other charges (2)
 778 778    
Total segment costs and operating expenses13,325 6,758 20,083 20,359 14,743 35,102 
Income (loss) from operations$(4,615)$(6,191)(10,806)$10,787 $(11,419)(632)
Corporate costs (3)
(22,736)(7,947)
Unallocated depreciation and amortization(1,357)(1,405)
Loss before income taxes$(34,899)$(9,984)
Nine Months Ended September 30, 2023Nine Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$24,807 $ $24,807 $93,376 $ $93,376 
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 
Total revenues37,503 6,079 43,582 100,774 7,441 108,215 
Costs and operating expenses:
Cost of product revenue9,947  9,947 29,577  29,577 
Research and development (1)
24,100 19,929 44,029 19,833 37,279 57,112 
Selling, general and administrative (1)
6,578 1,528 8,106 11,208 2,288 13,496 
Restructuring charges1,182 1,362 2,544    
Asset impairment and other charges (2)
 778 778    
Total segment costs and operating expenses41,807 23,597 65,404 60,618 39,567 100,185 
Income (loss) from operations$(4,304)$(17,518)(21,822)$40,156 $(32,126)8,030 
Corporate costs (3)
(42,890)(24,940)
Unallocated depreciation and amortization(4,302)(3,953)
Loss before income taxes$(69,014)$(20,863)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Impairment charge of $0.8 million is related to the goodwill allocated to the Novel Biotherapeutics segment.
(3) Corporate costs include unallocated selling, general and administrative expenses, unallocated asset impairment and restructuring charges, interest income, and other income (expense), net.
23


The following table provides stock-based compensation expense included in loss from operations (in thousands):
Three Months Ended September 30,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$903 $(235)$1,615 $2,283 $1,593 $414 $2,524 $4,531 
Nine Months Ended September 30,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,861 $98 $4,849 $7,808 $4,776 $1,182 $5,642 $11,600 

Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Customer A
20 %***
Customer B
*39 %15 %54 %
Customer C
*13 %**
Customer D
**10 %*
Customer E
**10 %*
* Percentage was less than 10%
Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
September 30, 2023December 31, 2022
Customer B
*53 %
Customer D
15 %*
Customer E
*10 %
Customer F
38 %*
Customer G
17 %*
* Percentage was less than 10%
Geographical Information
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Revenues
Americas$4,278 $4,822 $10,798 $12,167 
EMEA3,191 5,987 14,630 14,805 
APAC1,808 23,661 18,154 81,243 
Total revenues$9,277 $34,470 $43,582 $108,215 
24


Identifiable long-lived assets by location was as follows (in thousands):
September 30, 2023December 31, 2022
United States$29,177 $61,877 
Identifiable goodwill by reporting unit was as follows (in thousands):
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill at January 1, 2023
$2,463 $778 $3,241 
Impairment
 (778)(778)
Goodwill at September 30, 2023
$2,463 $ $2,463 
For additional information on the goodwill impairment, see Note 7, “Balance Sheet Details.”
Note 13. Allowance for Credit Losses
The following table summarizes the financial assets allowance for credit losses (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Balance at beginning of period$133 $109 $163 $416 
Provision for credit losses    
Write-offs  (30)(257)
Adjustment to the existing allowance   (50)
Balance at end of period$133 $109 $133 $109 
The following tables summarize accounts receivable by aging category (in thousands):
September 30, 2023
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$6,835 $4,690 $22 $82 $4,794 $11,629 
December 31, 2022
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$28,896 $1,747 $469 $792 $3,008 $31,904 
Note 14. Restructuring Charges
In July 2023, in alignment with our enhanced strategic focus, we announced a restructuring of our business, including a plan for a workforce reduction of approximately 25%. During the three and nine months ended September 30, 2023, we recorded a restructuring charge of $3.1 million related to severance and related benefit costs. As of September 30, 2023, we have accrued $1.9 million as a current liability within accrued compensation on our condensed consolidated balance sheets, which is expected to be paid in the fourth quarter of 2023. We do not expect to record any significant future charges related to the restructuring plan.
In November 2022, we announced a plan for a workforce reduction of approximately 18% to realign and optimize our workforce requirements in alignment with our refined corporate strategy. The plan was substantially completed in December 2022 and severance costs were paid through the third quarter of 2023. During the three and nine months ended September 30, 2023, we recorded additional restructuring charges of nil and $0.2 million, respectively, related to severance, bonus and other termination benefits in connection with the workforce reduction announced in November 2022. We do not expect to record any future charges related to the restructuring plan initiated in 2022.
25


Note 15. Assets Held For Sale
In July 2023, we announced our plan to consolidate operations from our San Carlos facility to our headquarters in Redwood City. As part of this plan, we entered into agreements to sell certain laboratory equipment located in our San Carlos facility through an asset auction and as part of the lease assignment of the San Carlos Space to Vaxcyte (see further discussion at Note 10, “Commitments and Contingencies”). The fixed assets that will be sold as part of this transaction met the assets held for sale criteria and were reclassified to assets held for sale as of September 30, 2023. The Company determined that the carrying value of the assets held for sale exceeds fair value less costs to sell, which resulted in a write-down of $1.5 million, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the quarter ended September 30, 2023. As of September 30, 2023, the Company has presented $0.6 million of fixed assets expected to be sold during the fourth quarter of 2023 as a current asset under the caption of “assets held for sale” in the accompanying condensed consolidated balance sheets.
26


ITEM 2.MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS
The following management's discussion and analysis of our financial condition and results of operations should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited consolidated financial statements and notes thereto and management's discussion and analysis of financial condition and results of operations for the year ended December 31, 2022 included in our Annual Report on Form 10-K for the year ended December 31, 2022, as filed with the SEC on February 27, 2023 (the “Annual Report”). This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the "Exchange Act"). These statements include, but are not limited to, expectations regarding our strategy, business plans, financial performance and developments relating to our industry. These statements are often identified by the use of words such as “may,” “will,” “expect,” “believe,” “anticipate,” “intend,” “could,” “should,” “estimate,” or “continue,” and similar expressions or variations. Such forward-looking statements are subject to risks, uncertainties and other factors that could cause actual results and the timing of certain events to differ materially from future results expressed or implied by such forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those discussed in Part II, Item 1A: “Risk Factors” of this Quarterly Report on Form 10-Q and Part I, Item 1A: “Risk Factors” of our Annual Report, as incorporated herein and referenced in Part II, Item 1A: “Risk Factors" and elsewhere in this Quarterly Report on Form 10-Q. The forward-looking statements in this Quarterly Report on Form 10-Q represent our views as of the date of this Quarterly Report on Form 10-Q. We anticipate that subsequent events and developments may cause our views to change. However, while we may elect to update these forward-looking statements at some point in the future, we have no current intention of doing so except to the extent required by applicable law. You should, therefore, not rely on these forward-looking statements as representing our views as of any date subsequent to the date of this Quarterly Report on Form 10-Q.
Business Overview
We are a leading enzyme engineering company leveraging our proprietary CodeEvolver® technology platform to discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins. Enzymes are naturally occurring biological molecules critical to almost all biochemical reactions that sustain life. They can be precisely engineered and optimized for specific functions, and to have particular characteristics, such as an ability to survive environments in which natural enzymes cannot, or to perform (bio)chemical transformations different than those for which they naturally evolved. The capacity to enhance the properties and performance of enzymes has led to pivotal improvements across three healthcare industry pillars: pharmaceutical manufacturing, life sciences, and biotherapeutics. The enzymes we produce solve for real-world challenges associated with small molecule pharmaceuticals manufacturing and nucleic acid synthesis. We are currently developing our proprietary ECO Synthesis Platform to enable the commercial scale manufacture of RNAi therapeutics through an enzymatic route. We expect to demonstrate gram-scale synthesis using the ECO Synthesis Platform by the end of 2023, enabling pre-commercial customer testing to begin in 2024, all with a goal of commercialization beginning in 2025. Our unique enzymes drive improvements such as higher yields, reduced energy usage and waste generation, improved efficiency in manufacturing and greater sensitivity in genomic and diagnostic applications.
As of September 30, 2023, we managed our business as two business segments: Performance Enzymes and Novel Biotherapeutics. In July 2023, we announced that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics, and expect to have just one business segment, Performance Enzymes, by the end of 2023. See Note 12, “Segment, Geographical and Other Revenue Information” in the Notes to Unaudited Condensed Consolidated Financial Statements included in this report.
Performance Enzymes
Our performance enzymes business consists primarily of two focus areas: biocatalysts for the enzymatic manufacturing of pharmaceuticals and enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. In our pharmaceutical manufacturing business, we utilize our CodeEvolver® directed evolution platform to develop optimized enzymes that are used by some of the world’s largest pharmaceutical companies to reduce their costs and improve the efficiency and productivity of their manufacturing processes for some small molecule therapeutics. In life science markets, we use our platform technology to develop enzymes for customers using next generation sequencing (“NGS”), a parallel sequencing technology used to identify genomic information in the study of biological systems, and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications, as well as for synthesis of nucleic acids such as DNA/RNA, including our ECO Synthesis™ Platform, which is in development to enable the commercial scale manufacture of RNAi therapeutics.
27


Novel Biotherapeutics
In July 2023, we announced that we are discontinuing investment in certain development programs in our biotherapeutics business, including our partnered product candidate CDX-7108 for the treatment of exocrine pancreatic insufficiency (“EPI”), which has completed Phase 1 clinical trials. We are in active negotiations with Nestlé Health Science to advance the program without our financial support. In addition, we previously licensed CDX-6114 for the treatment of phenylketonuria (“PKU”). We have also engineered a series of transgenes that code for enzymes that may be used as gene therapies to treat rare lysosomal storage disorders with our partner Takeda, such as Fabry Disease and Pompe Disease, as well as a blood factor disorder. Takeda previously announced that they are discontinuing development of these programs.
Recent Developments
In July 2023, we announced an update to our business strategy to focus resources on programs with the strongest probability of creating significant value in the near-term and beyond. As part of this enhanced strategic focus, we are prioritizing the advancement and commercialization of our ECO Synthesis Platform and our highly complementary Pharmaceutical Manufacturing business. We also streamlined operations, including the discontinuation of investment in certain development programs, primarily in our biotherapeutics business, consolidated operations to our headquarters in Redwood City, California and reduced headcount by approximately 25%.
Business Update Regarding COVID-19
In March 2020, the World Health Organization declared COVID-19 a global pandemic and recommended containment and mitigation measures worldwide. The impact of COVID-19 affected segments of the global economy and its continuing impacts may affect our operations, including the potential interruption of our supply chain. On May 11, 2023, the COVID-19 Public Health Emergency (“PHE”) declared under the Public Health Service (“PHS”) Act expired. While COVID-19 is no longer considered a PHE, future surges or actions taken in response to COVID-19 or other PHEs may materially affect our products, supply chain or operation.
As a result of the COVID-19 pandemic, in 2021 and 2022 we received purchase orders from Pfizer Inc. (“Pfizer”) for large quantities of our proprietary enzyme product, CDX-616, for use by Pfizer in the manufacture of a critical intermediate for its proprietary API, nirmatrelvir, used by Pfizer in combination with the API ritonavir, as its PAXLOVID™ (nirmatrelvir tablets; ritonavir tablets) product for the treatment of COVID-19 infections in humans. We are a party to an Enzyme Supply Agreement with Pfizer Ireland Pharmaceuticals, a subsidiary of Pfizer, Inc. (the “Pfizer Supply Agreement”), covering the manufacture, sale and purchase of CDX-616 for use by Pfizer in the manufacture of nirmatrelvir. Under the terms of the Pfizer Supply Agreement, Pfizer paid us a fee of $25.9 million in August 2022 which was recorded as deferred revenue. Pursuant to the agreement, 90% of the fee ($23.3 million) is creditable against (i) future orders of CDX-616 used to manufacture its PAXLOVID™ with shipment dates prior to December 31, 2023, and (ii) fees associated with any new development and licensing agreements with Pfizer entered into prior to April 4, 2023. On March 31, 2023, we entered into a license agreement whereby Pfizer utilized a portion of the $23.3 million credit towards a license to develop future product candidates, for which we recognized $5.0 million as non-cash research and development revenue during the second quarter of 2023. Pfizer's ability to utilize the credit under item (ii) above expired on April 4, 2023. Up to 50% of any portion of the $25.9 million which has not been credited under items (i) and (ii) is creditable against future orders of CDX-616 used to manufacture PAXLOVID™ with shipment dates in 2024. The sale of CDX-616 to Pfizer had a substantial impact on our revenues in 2021 and 2022. Revenues in 2023 and in future years from our sales of CDX-616 to Pfizer and other potential customers (including sublicensees of Pfizer technology from The Medicine Patent Pool) are subject to a number of factors which are outside of our control and could reduce or eliminate our sales of CDX-616, and therefore materially and adversely affect our business, results of operations and financial conditions.
Significant Collaborative Arrangements Update
Merck Sitagliptin Catalyst Supply Agreement
In February 2012, we entered into a five-year Sitagliptin Catalyst Supply Agreement (“Sitagliptin Supply Agreement”) with Merck whereby Merck may obtain commercial scale enzyme for use in the manufacture of Januvia®, its product based on the active ingredient sitagliptin. In December 2015, Merck exercised its option under the terms of the Sitagliptin Supply Agreement to extend the agreement for an additional five years through February 2022. In September 2021, the Sitagliptin Supply Agreement was amended to extend the agreement through December 2026.
28


We recognized nil and $3.7 million under this agreement for the three and nine months ended September 30, 2023, respectively, compared to $2.4 million and $5.1 million for the three and nine months ended September 30, 2022, respectively. This represented 0% and 8% of our total revenues for the three and nine months ended September 30, 2023, respectively, compared to 7% and 5% for the three and nine months ended September 30, 2022, respectively. As of September 30, 2023, we recorded revenue of $1.1 million from sitagliptin enzyme sales that were recognized over time based on the progress of the manufacturing process. These products will be shipped within the six-month period following the end of the third quarter of 2023.
Global Development, Option and License Agreement and Strategic Collaboration Agreement
In October 2017, we entered into the Nestlé License Agreement with Nestlé Health Science and, solely for the purpose of the integration and the dispute resolution clauses of the Nestlé License Agreement, Nestlé Health Science S.A., to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU.
In January 2019, we received notice from the U.S. Food and Drug Administration (“FDA”) that it had completed its review of our IND for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. Upon exercising its option, Nestlé Health Science made an option payment and assumed all responsibilities for future clinical development and commercialization of CDX-6114. In October 2023, we provided notice pursuant to Nestlé License Agreement of our intent to abandon or transfer to Nestlé Health Science (at their option) the patents and patent applications related to CDX-6114, as of December 5, 2023. We anticipate that such abandonment or transfer will reduce our patent-related responsibilities and costs while not materially affecting our other rights and obligations under the Nestlé License Agreement.
In October 2017, we entered into the Nestlé Strategic Collaboration Agreement (“SCA”) pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® protein engineering technology platform to develop novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. The term of the Nestlé SCA will expire in December 2023, as we opted out of a renewal period through December 2024.
In January 2020, we entered into a development agreement with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate discovered through our Nestlé SCA, CDX-7108, targeting EPI, into preclinical and early clinical studies. We, together with Nestlé Health Science, initiated a Phase 1 clinical trial of CDX-7108 in the fourth quarter of 2021 and on February 23, 2023, we and Nestlé Health Science announced interim results. Interim data from the proof-of-concept arm showed improved lipid absorption when patients were administered CDX-7108 versus placebo. Importantly, no notable safety issues were noted in the 48 subjects that participated in the single ascending dose and multiple ascending dose portion of the study. In July 2023, we announced plans to discontinue our development support of CDX-7108 and are in active negotiations with Nestlé Health Science to advance the program without our financial support.
Under the Nestlé SCA and the development agreement, we recognized $0.6 million and $4.1 million in research and development fees for the three and nine months ended September 30, 2023, respectively, compared to $2.2 million and $3.8 million for the three and nine months ended September 30, 2022, respectively.
Platform Technology Transfer and License Agreement
In May 2019, we entered into the Novartis CodeEvolver® Agreement with Novartis. The Novartis CodeEvolver® Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare. In July 2021, we announced the completion of the technology transfer period during which we transferred our proprietary CodeEvolver® protein engineering platform technology to Novartis (the “Technology Transfer Period”). As a part of this technology transfer, we provided to Novartis our proprietary enzymes, proprietary protein engineering protocols and methods, and proprietary software algorithms. In addition, our teams and Novartis scientists participated in technology training sessions and collaborative research projects at our laboratories in Redwood City, California and at a designated Novartis laboratory in Basel, Switzerland. Novartis has now installed the CodeEvolver® protein engineering platform technology at its designated laboratory.
29


Pursuant to the Novartis CodeEvolver® Agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. We completed the second technology milestone transfer under the Novartis CodeEvolver® Agreement in 2020 and received a milestone payment of $4.0 million. We have also received an aggregate of $5.0 million for the completion of the third technology milestone in 2021. In consideration for the continued disclosure and license of improvements to the technology and materials during a multi-year period that began on the conclusion of the Technology Transfer Period (“Improvements Term”), Novartis will pay Codexis annual payments over four years which amount to an additional $8.0 million in aggregate. We received the first annual payment of $2.0 million in the fourth quarter of 2022. The Company also has the potential to receive quantity-dependent, usage payments for each API that is manufactured by Novartis using one or more enzymes that have been developed or are in development using the CodeEvolver® protein engineering platform technology during the period that began on the conclusion of the Technology Transfer Period and ends on the expiration date of the last to expire licensed patent. Revenue for the combined initial license and technology transfer performance obligation was recognized using a single measure of progress that depicted our performance in transferring control of the services. Revenue allocated to improvements made during the Improvements Term is being recognized during the Improvements Term.
We recognized $0.2 million and $0.8 million in research and development revenue for the three and nine months ended September 30, 2023, respectively, compared to $0.2 million and $0.7 million for the three and nine months ended September 30, 2022, respectively.
Strategic Collaboration and License Agreement
In March 2020, we entered into a Strategic Collaboration and License Agreement (the “Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”), pursuant to which we have collaborated with Takeda to research and develop protein sequences for use in gene therapy products for certain diseases in accordance with each applicable program plan.
On execution of the Takeda Agreement, we received an upfront non-refundable cash payment of $8.5 million and we initiated activities under three program plans for Fabry Disease, Pompe Disease, and an undisclosed blood factor deficiency, respectively (the “Initial Programs”). In May 2021, Takeda elected to exercise its option to initiate an additional program for a certain undisclosed rare genetic disorder; as a result we received the option exercise fee during the third quarter of 2021. We completed the research and development services relating to the fourth program with Takeda during the second quarter of 2023.
On February 22, 2023, we announced that Takeda presented pre-clinical data from the Fabry Disease transgene program, part of its Strategic Collaboration and License Agreement with Codexis, at the 19th Annual WORLDSymposium. The gene therapy candidate is being developed to encode the codon optimized, CodeEvolver® engineered-GAL enzyme, which is designed to have improved serum and lysosomal stability and a predicted reduced immunogenicity.
Pursuant to the Takeda Agreement, we are eligible to receive other payments that include (i) clinical development and commercialization-based milestones, per target gene, of up to $104.0 million and (ii) tiered royalty payments based on net sales of applicable products at percentages ranging from the mid-single digits to low single-digits. However, Takeda recently announced that they are discontinuing development of these programs. We continue to engage in discussions with Takeda about the foregoing but the Takeda Agreement remains in effect as of the date of this report.
Revenue recognized relating to the functional licenses provided to Takeda was recognized at a point in time when the control of the license transferred to the customer. We recognized research and development revenue related to the Takeda Agreement of nil and $1.9 million for the three and nine months ended September 30, 2023, respectively, compared to $1.2 million and $3.7 million for the three and nine months ended September 30, 2022, respectively.
Pfizer Enzyme Supply Agreement
We are a party to the Pfizer Supply Agreement, covering the manufacture, sale and purchase of CDX-616 for use by Pfizer in the manufacture of nirmatrelvir. Under the terms of the Pfizer Supply Agreement, Pfizer paid us a fee of $25.9 million in August 2022 which was recorded as deferred revenue. Pursuant to the agreement, 90% of the fee ($23.3 million) is creditable against (i) future orders of CDX-616 used to manufacture its PAXLOVID™ with shipment dates prior to December 31, 2023, and (ii) fees associated with any new development and licensing agreements with Pfizer entered into prior to April 4, 2023. On March 31, 2023, we entered into a license agreement whereby Pfizer utilized a portion of the $23.3 million credit towards a license to develop future product candidates, for which we recognized $5.0 million as non-cash research and development revenue in the second quarter of 2023. Pfizer's ability to utilize the credit under item (ii) above expired on April 4, 2023. Up to 50% of any portion of the $25.9 million which has not been credited under items (i) and (ii) is creditable against future orders of CDX-616 used to manufacture PAXLOVID™ with shipment dates in 2024.
30


No product revenue was recognized from the Pfizer Supply Agreement during the three and nine months ended September 30, 2023. We recognized product revenue of $12.9 million and $58.0 million for the three and nine months ended September 30, 2022, respectively, from the sale of quantities of CDX-616 to Pfizer which comprised 38% and 54% of our total revenues for the three and nine months ended September 30, 2022, respectively. As of September 30, 2023 and December 31, 2022, we had $18.3 million and $24.4 million, respectively, in deferred revenue related to the $25.9 million fee received from Pfizer.
Results of Operations
The following table shows the amounts from our unaudited condensed consolidated statements of operations for the periods presented (in thousands, except percentages):
 Three Months Ended September 30,ChangeNine Months Ended September 30,Change
 20232022$%20232022$%
Revenues:
Product revenue$5,395 $28,042 $(22,647)(81)%$24,807 $93,376 $(68,569)(73)%
Research and development revenue3,882 6,428 (2,546)(40)%18,775 14,839 3,936 27 %
Total revenues9,277 34,470 (25,193)(73)%43,582 108,215 (64,633)(60)%
Costs and operating expenses:
Cost of product revenue2,249 9,786 (7,537)(77)%9,947 29,577 (19,630)(66)%
Research and development13,662 21,821 (8,159)(37)%47,651 60,410 (12,759)(21)%
Selling, general and administrative12,302 13,499 (1,197)(9)%41,066 39,859 1,207 %
Restructuring charges3,140 — 3,140 100 %3,284 — 3,284 100 %
Asset impairment and other charges9,984 — 9,984 100 %9,984 — 9,984 100 %
Total costs and operating expenses41,337 45,106 (3,769)(8)%111,932 129,846 (17,914)(14)%
Loss from operations(32,060)(10,636)(21,424)201 %(68,350)(21,631)(46,719)216 %
Interest income1,056 436 620 142 %3,266 618 2,648 428 %
Other income (expense), net
(3,895)216 (4,111)(1,903)%(3,930)150 (4,080)(2,720)%
Loss before income taxes(34,899)(9,984)(24,915)250 %(69,014)(20,863)(48,151)231 %
Provision for income taxes13 %34 125 (91)(73)%
Net loss$(34,908)$(9,992)$(24,916)249 %$(69,048)$(20,988)$(48,060)229 %
Revenues
Our revenues consisted of product revenue and research and development revenue as follows:
Product revenue consist of sales of biocatalysts, pharmaceutical intermediates, and Codex® biocatalyst panels and kits.
Research and development revenue include license, technology access and exclusivity fees, research services fees, milestone payments, royalties, optimization and screening fees.
Revenues are as follows (in thousands, except percentages):
Three Months Ended September 30,ChangeNine Months Ended September 30,Change
20232022$%20232022$%
Product revenue$5,395 $28,042 $(22,647)(81)%$24,807 $93,376 $(68,569)(73)%
Research and development revenue3,882 6,428 (2,546)(40)%18,775 14,839 3,936 27 %
Total revenues$9,277 $34,470 $(25,193)(73)%$43,582 $108,215 $(64,633)(60)%
Revenues typically fluctuate on a quarterly basis due to the variability in our customers' manufacturing schedules and the timing of our customers' clinical trials. In addition, we have limited internal capacity to manufacture enzymes. As a result, we are dependent upon the performance and capacity of third-party manufacturers for the commercial scale manufacturing of the enzymes used in our pharmaceutical and fine chemicals business.
31


We accept purchase orders for deliveries covering periods from one day up to 14 months from the date on which the order is placed. However, some of our purchase orders can be revised or cancelled by the customer without penalty. Considering these industry practices and our experience, we do not believe the total of customer purchase orders outstanding (backlog) provides meaningful information that can be relied on to predict actual sales for future periods.
Total revenues decreased by $25.2 million in the three months ended September 30, 2023 compared to the same period in 2022 primarily due to lower product revenue and lower research and development revenue. Total revenues decreased by $64.6 million in the nine months ended September 30, 2023 compared to the same periods in 2022, primarily due to lower product revenue, which was partially offset by higher research and development revenue.
Product revenue, decreased by $22.6 million and $68.6 million in the three and nine months ended September 30, 2023, respectively, compared to the same periods in 2022, primarily due to decreased sales of CDX-616 to Pfizer. This decrease was partially offset by $2.9 million release of prior periods' product revenue deferrals during the second quarter of 2023 due to early termination of the enzyme supply obligations to a customer and $1.3 million of product revenue recognized during the third quarter of 2023 as settlement fee pursuant to the enzyme supply agreement with the same customer.
Research and development revenue decreased by $2.5 million in the three months ended September 30, 2023 compared to the same period in 2022 primarily due to lower research and development fees from existing collaboration agreements being recognized in 2023 as compared to the same period in the prior year. Research and development revenue increased by $3.9 million in the nine months ended September 30, 2023 compared to the same period in 2022, primarily due to higher revenue from Pfizer license agreement and from Nestlé Health Science under the Nestlé SCA and development agreement, which was partially offset by lower research and development fees from existing collaboration agreements being recognized in 2023 as compared to the same period in the prior year.
Cost and Operating Expenses
The following table shows the amounts of our cost of product revenue, research and development expense, selling, general and administrative expense, and restructuring charges from our unaudited condensed consolidated statements of operations for the periods presented (in thousands, except percentages):
Three Months Ended September 30,ChangeNine Months Ended September 30,Change
20232022$%20232022$%
Cost of product revenue$2,249 $9,786 $(7,537)(77)%$9,947 $29,577 $(19,630)(66)%
Research and development13,662 21,821 (8,159)(37)%47,651 60,410 (12,759)(21)%
Selling, general and administrative12,302 13,499 (1,197)(9)%41,066 39,859 1,207 %
Restructuring charges3,140 — 3,140 100 %3,284 — 3,284 100 %
Asset impairment and other charges9,984 — 9,984 100 %9,984 — 9,984 100 %
Total costs and operating expenses$41,337 $45,106 $(3,769)(8)%$111,932 $129,846 $(17,914)(14)%
Cost of Product Revenue and Product Gross Margin
Our product revenues are derived entirely from our Performance Enzymes segment. Revenues from the Novel Biotherapeutics segment are derived entirely from collaborative research and development activities as we have no approved products available for sale.
32


The following table shows the amounts of our product revenue, cost of product revenue, product gross profit and product gross margin from our unaudited condensed consolidated statements of operations for the periods presented (in thousands, except percentages):
Three Months Ended September 30,ChangeNine Months Ended September 30,Change
20232022$%20232022$%
Product revenue$5,395$28,042$(22,647)(81)%$24,807$93,376$(68,569)(73)%
Cost of product revenue (1)
2,2499,786(7,537)(77)%9,94729,577(19,630)(66)%
Product gross profit$3,146$18,256$(15,110)(83)%$14,860$63,799$(48,939)(77)%
Product gross margin (%) (2)
58 %65 %60 %68 %
(1) Cost of product revenue consist of both internal and third-party fixed and variable costs, including materials and supplies, labor, facilities and other overhead costs associated with our product revenue.
(2) Product gross margin is used as a performance measure to provide additional information regarding our results of operations on a consolidated basis.
Cost of product revenue decreased by $7.5 million and $19.6 million in the three and nine months ended September 30, 2023, respectively, compared to the same periods in 2022, primarily due to lower volume of product sales as compared to the same periods in prior year.
Product gross margins were 58% and 60% in the three and nine months ended September 30, 2023, respectively, compared to 65% and 68% in the corresponding periods in 2022 due to variability in the product mix which was partially offset by revenue recognized with no related cost in the second and third quarters of 2023.
Research and Development Expenses
Research and development expenses consist of costs incurred for internal projects as well as collaborative research and development activities. These costs primarily consist of (i) employee-related costs, which include salaries and other personnel-related expenses (including stock-based compensation), (ii) various allocable expenses, which include occupancy-related costs, supplies, depreciation of facilities and laboratory equipment, and (iii) external costs. Research and development expenses are expensed when incurred.
Research and development expenses decreased by $8.2 million, or 37%, during the three months ended September 30, 2023 compared to the same period in 2022. This decrease was primarily due to a $3.7 million decrease in costs associated with lower headcount, $1.4 million from lower lab supply costs. $2.2 million from lower outside services related to Chemistry, Manufacturing and Controls (“CMC”) and regulatory expenses and $0.6 million from lower stock-based compensation costs. The decrease in research and development expenses of $12.8 million, or 21%, in the nine months ended September 30, 2023, compared to the same period in 2022, was primarily due to a $7.3 million decrease in costs associated with lower headcount, a $3.1 million decrease in CMC and outside services, $2.9 million in lower lab supply costs, and a $1.2 million decrease in stock based compensation costs, partially offset by an increase of $1.6 million in allocable expenses.
Selling, General and Administrative Expenses
Selling, general and administrative expenses consist of employee-related costs, which include salaries and other personnel-related expenses (including stock-based compensation), hiring and training costs, consulting and outside services expenses (including audit and legal counsel related costs), marketing costs, building lease costs, and depreciation expenses and amortization expenses.
Selling, general and administrative expenses decreased by $1.2 million, or 9%, during the three months ended September 30, 2023, compared to the same period in 2022. This decrease was primarily due to decreases of $1.6 million in stock-based compensation costs and $0.3 million in lower outside services, partially offset by an increase of $0.6 million higher in payroll-based expenses. The increase in selling, general and administrative expenses of $1.2 million, or 3%, in the nine months ended September 30, 2023, compared to the same period in 2022 was primarily due to $3.0 million higher payroll-based expenses and $1.2 million of higher fees for outside services, partially offset by a $2.6 million decrease in stock-based compensation costs and $0.7 million decrease in allocable expenses.
Restructuring Charges
Restructuring charges consist of one-time employee severance and other termination benefits due to workforce reduction plans that were initiated during the third quarter of 2023 and in the fourth quarter of 2022. Restructuring charges were $3.1 million and $3.3 million for the three and nine months ended September 30, 2023, respectively.
33



Asset Impairment and Other Charges

Asset impairment and other charges for the three and nine months ended September 30, 2023 were $10.0 million, consisting of a $7.7 million long-lived asset impairment charge, a $0.8 million goodwill impairment charge and a $1.5 million write-down on assets held for sale, all of which are non-cash charges.
Interest Income and Other Income (Expense), net (in thousands, except percentages):
Three Months Ended September 30,ChangeNine Months Ended September 30,Change
20232022$%20232022$%
Interest income$1,056 $436 $620 142 %$3,266 $618 $2,648 428 %
Other income (expense), net
(3,895)216 (4,111)(1,903)%(3,930)150 (4,080)(2,720)%
Total other income, net$(2,839)$652 $(3,491)(535)%$(664)$768 $(1,432)(186)%
Other Income (Expense), net
Other income (expense), net decreased by $4.1 million in the three and nine months ended September 30, 2023, compared to the same periods in 2022, primarily due to impairment of our investments in seqWell and Arzeda.
Interest Income
Interest income increased by $0.6 million and $2.6 million in the three and nine months ended September 30, 2023, respectively, compared to the same periods in 2022, primarily due to higher average interest rates on cash balances.
Provision for Income Taxes (in thousands, except percentages):
Three Months Ended September 30,ChangeNine Months Ended September 30,Change
20232022$%20232022$%
Provision for income taxes$$$13 %$34 $125 $(91)(73)%
The provision for income taxes for the three and nine months ended September 30, 2023, was primarily for current year state income taxes and the accrual of interest and penalties on historic uncertain tax positions. The provision for income taxes for the three and nine months ended September 30, 2022, was primarily due to the income tax withholding imposed by foreign taxing authorities on income earned in certain countries outside of the United States and remitted to the United States and the accrual of interest and penalties on historic uncertain tax positions.
Net Loss
Net loss for the three months ended September 30, 2023, was $34.9 million, or a net loss per basic and diluted share of $0.50. This compared to a net loss of $10.0 million, or a net loss per basic and diluted share of $0.15 for the three months ended September 30, 2022. Net loss for the nine months ended September 30, 2023, was $69.0 million, or a net loss per basic and diluted share of $1.02. This compared to a net loss of $21.0 million, or a net loss per basic and diluted share of $0.32 for the nine months ended September 30, 2022. The increase in net loss for both the three and nine months ended September 30, 2023, was primarily related to lower product revenues from CDX-616 and one-time charges recognized during 2023 related to asset impairment, including impairment in our investments in non-marketable equity securities, and restructuring charges, which was partially offset by lower operating expenses in 2023.
34


RESULTS OF OPERATIONS BY SEGMENT (in thousands, except percentages):
Revenues by segment
Three Months Ended September 30,Change
20232022Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$5,395 $— $5,395 $28,042 $— $28,042 $(22,647)(81)%$— — %
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 211 %(2,757)(83)%
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 $(22,436)(72)%$(2,757)(83)%
Nine Months Ended September 30,Change
20232022Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$24,807 $— $24,807 $93,376 $— $93,376 $(68,569)(73)%$— — %
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 5,298 72 %(1,362)(18)%
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 $(63,271)(63)%$(1,362)(18)%

Revenues from the Performance Enzymes segment decreased by $22.4 million, or 72%, for the three months ended September 30, 2023, and by $63.3 million, or 63%, for the nine months ended September 30, 2023 compared to the same periods in 2022. The decrease in product revenue of $22.6 million, or 81%, in the three months ended September 30, 2023, and of $68.6 million, or 73%, in the nine months ended September 30, 2023, compared to the same periods in 2022, was primarily due to decreased sales of CDX-616 to Pfizer which was partially offset by a $2.9 million release of prior periods' product revenue deferrals during the second quarter of 2023 due to early termination of the enzyme supply obligations to a customer and $1.3 million of product revenue recognized during the third quarter of 2023 as settlement fee pursuant to the enzyme supply agreement with the same customer. The increase in research and development revenue of $0.2 million, or 7%, for the three months ended September 30, 2023, and of $5.3 million, or 72%, in the nine months ended September 30, 2023, compared to the same periods in 2022, was primarily due to higher revenue from the Pfizer license agreement.
Revenues from the Novel Biotherapeutics segment decreased by $2.8 million, or 83%, for the three months ended September 30, 2023 and by $1.4 million, or 18%, for the nine months ended September 30, 2023 compared to the same periods in 2022, primarily due to lower research and development fees from Takeda under the Takeda Agreement partially offset by higher research and development revenue from Nestlé Health Science under the Nestlé SCA and development agreement.
35


Costs and operating expenses by segment
Three Months Ended September 30,Change
20232022Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$2,249 $— $2,249 $9,786 $— $9,786 $(7,537)(77)%$— — %
Research and development (1)
8,146 4,377 12,523 6,782 13,855 20,637 1,364 20 %(9,478)(68)%
Selling, general and administrative (1)
1,748 386 2,134 3,791 888 4,679 (2,043)(54)%(502)(57)%
Restructuring charges1,182 1,217 2,399 — — — 1,182 — %1,217 100 %
Asset impairment and other charges (2)
— 778 778 — — — — — %778 100 %
Total segment costs and operating expenses$13,325 $6,758 20,083 $20,359 $14,743 35,102 $(7,034)(35)%$(7,985)(54)%
Corporate costs (3)
19,897 8,599 
Unallocated depreciation and amortization1,357 1,405 
Total costs and operating expenses$41,337 $45,106 
Nine Months Ended September 30,Change
20232022Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$9,947 $— $9,947 $29,577 $— $29,577 $(19,630)(66)%$— — %
Research and development (1)
24,100 19,929 44,029 19,833 37,279 57,112 4,267 22 %(17,350)(47)%
Selling, general and administrative (1)
6,578 1,528 8,106 11,208 2,288 13,496 (4,630)(41)%(760)(33)%
Restructuring charges1,182 1,362 2,544 — — — 1,182 — %1,362 100 %
Asset impairment and other charges (2)
— 778 778 — — — — — %778 100 %
Total segment costs and operating expenses$41,807 $23,597 65,404 $60,618 $39,567 100,185 $(18,811)(31)%$(15,970)(40)%
Corporate costs (3)
42,226 25,708 
Unallocated depreciation and amortization4,302 3,953 
Total costs and operating expenses$111,932 $129,846 
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Impairment charge of $0.8 million is related to the goodwill allocated to the Novel Biotherapeutics segment.
(3) Corporate costs include unallocated selling, general and administrative expenses and unallocated asset impairment and restructuring charges.
For a discussion of product cost of revenue, see “Results of Operations”.

36


Research and development expense in the Performance Enzymes segment increased by $1.4 million, or 20%, in the three months ended September 30, 2023, compared to the same period in 2022 primarily due to $4.6 million higher allocable expenses, partially offset by a $3.0 million decrease in costs associated with lower headcount and lower lab supply costs. The increase in research and development expense by $4.3 million, or 22%, in the nine months ended September 30, 2023, as compared to the same period in 2022 was primarily due to $10.6 million in higher outside services and allocable expenses, partially offset by a $5.9 million decrease in costs associated with lower headcount and lower lab supply costs.
Selling, general and administrative expense in the Performance Enzymes segment decreased by $2.0 million, or 54%, in the three months ended September 30, 2023, and by $4.6 million, or 41%, in the nine months ended September 30, 2023, as compared to the same periods in 2022, primarily due to lower headcount related expenses.
Research and development expense in the Novel Biotherapeutics segment decreased by $9.5 million, or 68%, in the three months ended September 30, 2023, as compared to the same period in 2022, primarily due to a $4.3 million decrease in costs associated with lower headcount and $4.8 million in lower fees related to outside services and lower allocable expenses. The decrease in research and development expenses of $17.4 million, or 47% in the nine months ended September 30, 2023, as compared to the same period in 2022, was primarily due to a $7.0 million decrease in costs associated with lower headcount and a $10.1 million decrease in outside services related to CMC and regulatory expenses, lower lab supply costs and lower allocable expenses. We expect research and development expenses to decrease in subsequent quarters reflecting the impact of the reduction in force that was announced in July 2023 and substantially completed by September 30, 2023 as well as reduced expenses resulting from our decision to discontinue investment in the Novel Biotherapeutics segment.
Selling, general and administrative expense in the Novel Biotherapeutics segment decreased by $0.5 million, or 57%, in the three months ended September 30, 2023 and by $0.8 million, or 33%, in the nine months ended September 30, 2023, as compared to the same periods in 2022. The decrease was primarily due to lower headcount related expenses.
LIQUIDITY AND CAPITAL RESOURCES
Liquidity is the measurement of our ability to meet working capital needs and to fund capital expenditures. We have historically funded our operations primarily through cash generated from operations, stock option exercises and public and private offerings of our common stock. We actively manage our cash usage and investment of liquid cash to ensure the maintenance of sufficient funds to meet our working capital needs. Our cash and cash equivalents are held in U.S. banks. Our primary uses of capital are, and we expect will continue to be for the near future, compensation and related expenses, research and development expenses including manufacturing costs, laboratory and related supplies, legal and other regulatory expenses, and general overhead costs. We expect our cash requirements to increase in the near term as we complete the reduction in force and facility consolidation that we announced in July 2023.
The following summarizes our cash and cash equivalents balance and working capital as of September 30, 2023 and December 31, 2022 (in thousands):
September 30, 2023December 31, 2022
Cash and cash equivalents$74,577 $113,984 
Working capital$64,599 $113,828 
Sources of Capital
In addition to our existing cash and cash equivalents and revenue generated through our existing operations, we are eligible to earn milestone and other contingent payments for the achievement of defined collaboration objectives and certain royalty payments under our collaboration agreements with Merck and Novartis of up to $19.0 million in the aggregate. Further, under the GSK CodeEvolver® Agreement, we have the potential to receive additional contingent payments that range from $5.8 million to $38.5 million per project. Our ability to earn these milestone and contingent payments and the timing of achieving these milestones is primarily dependent upon the outcome of our collaborators’ research and development activities and is uncertain at this time.
37


In addition, pursuant to the terms of the Pfizer Supply Agreement, Pfizer paid us a fee of $25.9 million in August 2022 which was recorded as deferred revenue. Pursuant to the agreement, 90% of the fee ($23.3 million) is creditable against (i) future orders of CDX-616 used to manufacture its PAXLOVID™ with shipment dates prior to December 31, 2023, and (ii) fees associated with any new development and licensing agreements with Pfizer entered into prior to April 4, 2023. Subsequent to the end of the first quarter of 2023, we entered into a license agreement whereby Pfizer utilized a portion of the $23.3 million credit towards a license to develop future product candidates, for which we recognized $5.0 million as non-cash research and development revenue during the second quarter of 2023. Pfizer's ability to utilize the credit under item (ii) above expired on April 4, 2023. Up to 50% of any portion of the $25.9 million which has not been credited under items (i) and (ii) is creditable against future orders of CDX-616 used to manufacture PAXLOVID™ with shipment dates in 2024.
We have historically experienced negative cash flows from operations as we continue to invest in key technology development projects and improvements to our CodeEvolver® protein engineering technology platform, develop and commercialize new and existing products including our ECO Synthesis™ platform and expand our business development and collaboration with new customers. Our cash flows from operations will continue to be affected principally by product sales and product gross margins, sales from licensing our technology to major pharmaceutical companies, and collaborative research and development services provided to customers, as well as our headcount costs, primarily in research and development. Our primary source of cash flows from operating activities is cash receipts from our customers for purchases of products, collaborative research and development services, and licensing our technology to major pharmaceutical companies. Our largest uses of cash from operating activities are for employee-related expenditures, rent payments, inventory purchases to support our product sales and non-payroll research and development costs.
Equity Distribution Agreement
In May 2021, we entered into an Equity Distribution Agreement (“EDA) with Piper Sandler & Co (“PSC), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. During the nine months ended September 30, 2023, 3,079,421 shares of our common stock were issued and sold pursuant to the EDA and we received net proceeds of $7.9 million. As of September 30, 2023, $41.3 million of shares remained available for sale under the EDA. There have been no additional sales of common stock under the EDA since June 2023. Sales of our common stock under this arrangement could be subject to business, economic or competitive uncertainties and contingencies, many of which may be beyond our control, and which could cause actual results from the sale of our common stock to differ materially from expectations.
We believe that our existing cash and cash equivalents, combined with our future expectations for product revenues, research and development revenue, and expense management will provide adequate funds for ongoing operations, planned capital expenditures and working capital requirements for at least the next 12 months. We have based this estimate on assumptions that may prove to be wrong, and we could utilize our capital resources sooner than we expect.

However, we may need additional capital if our current plans and assumptions change. In addition, we may choose to seek other sources of capital even if we believe we have generated sufficient cash flows to support our operating needs. Our need for additional capital will depend on many factors, including the financial success of our business, the spending required to develop and commercialize new and existing products including our ECO Synthesis platform, the effect of any acquisitions of other businesses, technologies or facilities that we may make or develop in the future, our spending on new market opportunities, and the potential costs for the filing, prosecution, enforcement and defense of patent claims, if necessary. If our capital resources are insufficient to meet our capital requirements, and we are unable to enter into or maintain collaborations with partners that are able or willing to fund our development efforts or commercialize any products that we develop or enable, we will have to raise additional funds to continue the development of our technology and products and complete the commercialization of products, if any, resulting from our technologies. If future financings involve the issuance of equity securities, our existing stockholders would suffer dilution. If we raise debt financing or enter into credit facilities, we may be subject to restrictive covenants that limit our ability to conduct our business. We may not be able to raise sufficient additional funds on terms that are favorable to us, if at all. If we fail to raise sufficient funds and fail to generate sufficient revenues to achieve planned gross margins and to control operating costs, our ability to fund our operations, take advantage of strategic opportunities, develop products or technologies, or otherwise respond to competitive pressures could be significantly limited. If this happens, we may be forced to delay or terminate development of new products or services, such as our ECO Synthesis Platform, or the commercialization of products resulting from our technologies, curtail or cease operations or obtain funds through collaborative and licensing arrangements that may require us to relinquish commercial rights, or grant licenses on terms that are not favorable to us. If adequate funds are not available, we will not be able to successfully execute our business plan or continue our business.
38


Cash Flows
The following is a summary of cash flows for nine months ended September 30, 2023 and 2022 (in thousands):
 Nine Months Ended September 30,
20232022
Net cash provided by (used in) operating activities$(41,601)$6,367 
Net cash used in investing activities(5,962)(13,611)
Net cash provided by (used in) financing activities8,167 (914)
Net decrease in cash, cash equivalents and restricted cash$(39,396)$(8,158)
Cash Flows from Operating Activities
Cash used in operating activities for the nine months ended September 30, 2023 of $41.6 million consisted of net loss adjusted for certain non-cash items and changes in operating assets and liabilities.
The $48.0 million increase in net cash used operating activities for the nine months ended September 30, 2023 as compared to the same period in 2022, was primarily due to the net effect of decreases in cash received from revenue, increases in cash paid for cost of revenues and operating expenses and changes in operating assets and liabilities.
Cash Flows from Investing Activities
Cash used in investing activities for the nine months ended September 30, 2023 was primarily attributable to $1.2 million for the purchase of additional shares of MAI's Series B preferred stock in March 2023 and seqWell's Series C-1 preferred stock and common stock warrants and $4.8 million for purchases of property and equipment during the period.
The $7.6 million decrease in net cash used in investing activities for the nine months ended September 30, 2023 as compared to the same period in 2022, was primarily due to higher cash utilized for additional investments in equity securities and purchases of property and equipment in the prior year.
Cash Flows from Financing Activities
Cash provided by financing activities for the nine months ended September 30, 2023 included $8.7 million gross proceeds from issuance of common stock and $0.4 million of proceeds from exercises of stock options, and was partially offset by $0.4 million for taxes paid related to net share settlement of equity awards.
The $9.1 million increase in net cash provided by financing activities for the nine months ended September 30, 2023 as compared to the same period in 2022 was primarily due to proceeds from issuance of common stock under the EDA and lower cash paid on taxes related to net share settlement of equity awards.
CRITICAL ACCOUNTING POLICIES AND ESTIMATES
The preparation of financial statements in conformity with generally accepted accounting principles requires management to make judgments, estimates and assumptions in the preparation of our consolidated financial statements and accompanying notes. Actual results could differ from those estimates. There have been no material changes to our critical accounting policies or estimates during the three and nine months ended September 30, 2023 from those discussed in our Annual Report.
39


ITEM 3.QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK
Market Risk Management
Our cash flows and earnings are subject to fluctuations due to changes in foreign currency exchange rates, interest rates and other factors. These market risk exposures are disclosed in Part II, Item 7A of our Annual Report on Form 10-K.
Interest Rate Sensitivity
Our unrestricted cash and cash equivalents total $74.6 million at September 30, 2023. We primarily invest these amounts in money market funds which are held for working capital purposes. We do not enter into investments for trading or speculative purposes. As of September 30, 2023, the effect of a hypothetical 10% decrease in market interest rates would have a $0.3 million impact on a potential loss in future interest income and cash flows.
Foreign Currency Risk
Our results of operations and cash flows are subject to fluctuations due to changes in foreign currency exchange rates. In periods when the United States dollar (USD”) declines in value as compared to the foreign currencies in which we incur expenses, our foreign-currency based expenses increase when translated into USD. Although substantially all of our sales are denominated in USD, future fluctuations in the value of the USD may affect the price competitiveness of our products outside the United States. Our most significant foreign currency exposure is due to non-functional currency denominated monetary assets, primarily currencies denominated in other than their functional currency. These non-functional currency denominated monetary assets are subject to re-measurement which may create fluctuations in other expense, net, a component in our consolidated statement of operations and in the fair value of the assets in the consolidated balance sheets. As of September 30, 2023, the effect of a hypothetical 10% unfavorable change in exchange rates on currencies denominated in other than their functional currency would result in a potential loss in future earnings in our consolidated statement of operations and a reduction in the fair value of the assets of approximately $42 thousand.
Investment in Non-Marketable Equity Securities
We own investments in non-marketable equity securities without readily determinable fair values. We may value these equity securities based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated investors, providing the terms of these security transactions are substantially similar to the security transactions terms between the investors and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.
40


ITEM 4.CONTROLS AND PROCEDURES
Evaluation of Disclosure Controls and Procedures
We maintain disclosure controls and procedures and internal controls that are designed to provide reasonable assurance that information required to be disclosed in our Exchange Act reports is recorded, processed, summarized, and reported within the time periods specified in the SEC's rules and forms and that such information is accumulated and communicated to our management, including our principal executive officer and our principal financial and accounting officer, as appropriate, to allow timely decisions regarding required disclosure.
Our management, including our principal executive officer and our principal financial and accounting officer, evaluated the effectiveness of our disclosure controls and procedures as defined by Rules 13a-15(e) and 15d-15(e) of the Exchange Act. Based on this review, our principal executive officer and our principal financial and accounting officer concluded that these disclosure controls and procedures were effective as of September 30, 2023 at a reasonable assurance level.
Changes in Internal Control over Financial Reporting
There were no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d) of Exchange Act Rules 13a-15 or 15d-15 that occurred during our last fiscal quarter that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. There were no significant changes to our internal control over financial reporting due to the adoption of new standards.
Inherent Limitations on Effectiveness of Controls
In designing and evaluating the disclosure controls and procedures, management recognizes that any controls and procedures, even if determined effective and no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives to prevent or detect misstatements. In addition, the design of disclosure controls and procedures must reflect the fact that there are resource constraints, and that management is required to apply judgment in evaluating the benefits of possible controls and procedures relative to their costs. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

41


PART II. OTHER INFORMATION
ITEM 1.
LEGAL PROCEEDINGS
We are not currently a party to any material pending litigation or other material legal proceedings.
ITEM 1A.RISK FACTORS
You should carefully consider the risks described below together with the other information set forth in this Quarterly Report, which could materially affect our business, financial condition or future results. The risks described below are not the only risks facing the Company. Risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition and/or operating results. Additional discussion of the material risks and uncertainties summarized in this risk factor summary, as well as certain other risks and uncertainties that we face, can be found in this section.
RISK FACTORS SUMMARY
The following is a summary of the principal factors that cause an investment in the Company to be speculative or risky:
We have a history of net losses and we may not achieve or maintain profitability.
Biotherapeutic programs are highly regulated and expensive.
We are dependent on a limited number of customers.
Our product supply agreements with customers have finite duration and may not be extended or renewed.
With respect to customers purchasing our products for the manufacture of API, the termination or expiration of such patent protection may materially and adversely affect our revenues, financial condition or results of operations.
We are dependent on a limited number of contract manufacturers for large scale production of substantially all of our enzymes.
We are dependent on our collaborators, and our failure to successfully manage these relationships could prevent us from developing and commercializing many of our products.
If we are unable to develop and commercialize new products for the target markets, our business and prospects will be harmed.
Future revenues from our sales of CDX-616 to Pfizer are subject to a number of factors which are outside of our control and may not materialize.
Ethical, legal and social concerns about genetically engineered products and processes could limit or prevent the use of our products, processes, and technologies and limit our revenues.
We have recently enhanced our strategic focus to concentrate of certain programs and business lines. As a result of this refined focus, we may fail to capitalize on other opportunities that may be more profitable or for which there is a greater likelihood of success.
Given our recent change in strategic direction, we may receive limited revenue or no future value from certain of our existing license agreements.
We use hazardous materials in our business, and we must comply with environmental laws and regulations.
As a public reporting company, we are subject to rules and regulations established from time to time by the Securities and Exchange Commission and Nasdaq regarding our internal controls over financial reporting. We may not complete needed improvements to our internal controls over financial reporting in a timely manner, or these internal controls may not be determined to be effective, which may adversely affect investor confidence in our company and, as a result, the value of our common stock and your investment.
We may need additional capital in the future in order to expand our business.
Our ongoing efforts to deploy our technology in the life science tools market may fail.
42


Even if our customers or collaborators obtain regulatory approval for any products utilizing our enzymes, such products will remain subject to ongoing regulatory requirements, which may result in significant additional expense.
If we or our customers fail to comply with certain healthcare laws, including fraud and abuse laws, we could face substantial penalties and our business, results of operations, financial condition and prospects could be adversely affected.
Our efforts to prosecute, maintain, protect and/or defend our intellectual property rights may not be successful.

Our ability to compete may decline if we do not adequately prosecute, maintain, protect and/or defend our proprietary technology, products or services or our intellectual property rights.

Third parties may claim that we are infringing, violating or misappropriating their intellectual property rights, which may subject us to costly and time-consuming litigation and prevent us from developing or commercializing our technology, products or services.
We may be involved in lawsuits to protect or enforce our intellectual property rights, which could be expensive, time-consuming and unsuccessful.
We may not be able to enforce our intellectual property rights throughout the world.
If our biocatalysts are stolen, misappropriated or reverse engineered, others could use these biocatalysts to produce competing products.
We are subject to anti-takeover provisions in our certificate of incorporation and bylaws and under Delaware law that could delay or prevent an acquisition of our company.
Market and economic conditions may negatively impact our business, financial condition, and share price.
Business interruptions resulting from disasters or other disturbances could delay us in the process of developing our products and could disrupt our sales.
Evolving expectations around environmental, social and governance matters may expose us to reputational and other risks.
Risks Relating to Our Business and Strategy
We have a history of net losses and we may not achieve or maintain profitability.
We have incurred net losses since our inception, including losses of $33.6 million, $21.3 million, and $24.0 million for the years ended December 31, 2022, 2021, and 2020, respectively, and $69.0 million and $21.0 million for the nine months ended September 30, 2023 and 2022, respectively. As of September 30, 2023 and December 31, 2022, we had an accumulated deficit of $490.3 million and $421.3 million, respectively. If we are unable to continue to successfully develop and commercialize products in our pharmaceutical manufacturing business, increase sales of existing products and services, develop and commercialize our ECO Synthesis Platform, and or develop new products or services, or otherwise expand our business, whether through new or expanded collaborations or other products and services, our net losses may increase and we may never achieve profitability. In addition, some of our agreements, including the agreements with GSK, Merck and Novartis, provide for milestone payments, usage payments, and/or future royalty payments, which we will only receive if we and our collaborators develop and commercialize products. We also intend to continue to fund the development of additional proprietary performance enzyme products and advance new technologies like our ECO Synthesis Platform. There can be no assurance that any of these products or services will become commercially viable or that we will ever achieve profitability on a quarterly or annual basis. If we fail to achieve profitability, or if the time required to achieve profitability is longer than we anticipate, we may not be able to continue our business. Even if we do achieve profitability, we may not be able to sustain or increase profitability on a quarterly or annual basis.
43


Biotherapeutic programs are highly regulated and expensive. The ability of our customers, future customers of partners, including any company developing RNAi therapeutics, to advance product candidates utilizing our products to clinical trials and to ultimately receive regulatory approvals is highly uncertain.
Although we are no longer developing our own portfolio of biotherapeutics product candidates, we continue to develop enzyme products, including our ECO Synthesis Platform, that may be used by our customers, future customers or partners in connection with their biotherapeutic product candidates. The successful development of biotherapeutic candidates involves many risks and uncertainties, requires long timelines and may lead to uncertain results. In addition, drug development is highly regulated and requires areas of expertise and capital resources we do not currently possess. In order to market a biologic product in the United States, our customers, future customers or partners must undergo the following process required by the United States Food and Drug Administration (“FDA”):
completion of extensive preclinical laboratory tests and preclinical animal studies, all performed in accordance with the FDA's Good Laboratory Practice requirements;
submission to the FDA of an Investigational New Drug Application (“IND”), which must become effective before human clinical studies may begin in the United States;
approval by an independent institutional review board (“IRB”) representing each clinical site before the clinical study may be initiated at the site;
performance of adequate and well-controlled human clinical studies in accordance with Good Clinical Practice (“GCP”) requirements to establish the safety, purity and potency (or efficacy) of the product candidate for each proposed indication;
preparation of and submission to the FDA of a Biologics License Application (“BLA”) after completion of all clinical studies;
potential review of the product candidate by an FDA advisory committee;
satisfactory completion of an FDA pre-approval inspection of the manufacturing facilities where the product candidate is produced to assess compliance with current Good Manufacturing Practice (“cGMP”) requirements;
FDA review and approval of a BLA prior to any commercial marketing or sale of the product in the United States; and
any post-approval requirements, if applicable.
The regulatory approval processes of the FDA and comparable foreign authorities are lengthy, time consuming and the results are inherently unpredictable. If our customers, future customers or partners are ultimately unable to obtain regulatory approval for their biotherapeutic product candidates utilizing our enzyme products, our business will be harmed. In addition, if we or our customers, future customers or partners fail to comply with applicable FDA or other regulatory requirements at any time during the drug development process, clinical testing, the approval process or after approval, we or they may become subject to administrative or judicial penalties, including the FDA’s refusal to approve a pending application, withdrawal of an approval, warning letters, product recalls and additional enforcement actions, any of which may have an adverse effect on our financial condition.
We are dependent on a limited number of customers.
Our current revenues are derived from a limited number of key customers. For the nine months ended September 30, 2023 and 2022, customers that each individually contributed 10% or more of our total revenue accounted for 35% and 54% of our total revenues, respectively. We expect a limited number of customers to continue to account for a significant portion of our revenues for the foreseeable future. This customer concentration increases the risk of quarterly fluctuations in our revenues and operating results. The loss or reduction of business from one or a combination of our significant customers could, materially adversely affect our revenues, financial condition and results of operations.
44


Our product supply agreements with customers have finite duration, may not be extended or renewed and generally do not require the customer to purchase any particular quantity or quantities of our products.
Our product supply agreements with customers generally have a finite duration, may not be extended or renewed and generally do not require the customer to purchase any particular quantity or quantities of our products. While our products are not considered commodities and may not be easily substituted for by our customers, particularly when our products are used in the manufacture of active pharmaceutical ingredients, our customers may nevertheless terminate or fail to renew their product supply agreements with us or significantly curtail their purchases thereunder under certain circumstances. Any such termination or reduction could materially adversely affect our revenues, financial condition and results of operations. For the nine months ended September 30, 2023, we derived a majority of our product revenue from these product supply agreements.
With respect to customers purchasing our products for the manufacture of active pharmaceutical ingredients (“API”) for which they have exclusivity due to patent protection, the termination or expiration of such patent protection and any resulting generic competition may materially and adversely affect our revenues, financial condition or results of operations.
With respect to customers purchasing our products for the manufacture of API, or lead to the manufacture of API, for which exclusivity due to patent protection has or is about to expire, we can expect that the quantity of our products sold to such customers for such products may decline as generic competition for the API increases. While we anticipate that we may, in some cases, also be able to sell products to these generic competitors for the manufacture of these APIs, or lead to the manufacture of these APIs, the overall effect on our revenues, financial condition and results of operations could be materially adverse.
We are dependent on a limited number of contract manufacturers for large scale production of substantially all of our enzymes. We are working to qualify new contract manufacturers to produce certain of our enzymes, however those efforts may not be successful and therefore we may experience limitations on our ability to supply our enzymes to customers.
Manufacturing of our enzymes is conducted primarily in four locations: our in-house facility in Redwood City, California, and at three third-party contract manufacturing organizations, Lactosan GmbH & Co. KG (“Lactosan”), in Kapfenberg, Austria, ACS Dobfar S.p.A. (“ACSD”) (formerly known as DPhar S.p.A.), in Anagni, Italy, and Alphazyme LLC in Florida, United States. Generally, we perform smaller scale manufacturing in-house and outsource the larger scale manufacturing to these contract manufacturers. We have limited internal capacity to manufacture enzymes. As a result, we are dependent upon the performance and capacity of third-party manufacturers for the larger scale manufacturing of the enzymes used in our pharmaceutical and life sciences businesses.
Accordingly, we face risks of difficulties with, and interruptions in, performance by third party manufacturers, the occurrence of which could adversely impact the availability, launch and/or sales of our enzymes in the future. Enzyme manufacturing capacity limitations at our third-party manufacturers and manufacturing delays could negatively affect our business, reputation, results of operations and financial condition. The failure of any contract manufacturer to supply us our required volumes of enzyme on a timely basis, or to manufacture our enzymes in compliance with our specifications or applicable quality requirements or in volumes sufficient to meet demand, would adversely affect our ability to sell pharmaceutical and fine and complex chemicals products, could harm our relationships with our customers or collaborators and could negatively affect our revenues and operating results. We may be forced to secure alternative sources of supply, which may be unavailable on commercially acceptable terms, and could cause delays in our ability to deliver products to our customers, increase our costs and decrease our profit margins.
We currently have supply agreements in place with Lactosan, ACSD and Alphazyme. In the absence of a supply agreement, a contract manufacturer will be under no obligation to manufacture our enzymes and could elect to discontinue their manufacture at any time. If we require additional manufacturing capacity and are unable to obtain it in sufficient quantity, we may not be able to increase our product sales, or we may be required to make substantial capital investments to build that capacity or to contract with other manufacturers on terms that may be less favorable than the terms we currently have with our suppliers. If we choose to build our own additional manufacturing facility, it could take two years or longer before our facility is able to produce commercial volumes of our enzymes. Any resources we expend on acquiring or building internal manufacturing capabilities could be at the expense of other potentially more profitable opportunities. In addition, if we contract with other manufacturers, we may experience delays of several months in qualifying them, which could harm our relationships with our customers or collaborators and could negatively affect our revenues or operating results.
45


We are dependent on our collaborators, and our failure to successfully manage these relationships could prevent us from developing and commercializing many of our products and achieving or sustaining profitability, and could lead to disagreements with our current or former collaborators.
Our ability to maintain and manage collaborations in our markets is fundamental to the success of our business. We currently have license agreements, research and development agreements, supply agreements and/or distribution agreements with various collaborators. For example, we have ongoing collaborations and agreements with GSK, Merck and Novartis that are important to our business and financial results. We may have limited or no control over the amount or timing of resources that any collaborator is able or willing to devote to our partnered products or collaborative efforts. Any of our collaborators may fail to perform its obligations. These collaborators may breach or terminate their agreements with us or otherwise fail to conduct their collaborative activities successfully and in a timely manner. Further, our collaborators may not develop products arising out of our collaborative arrangements or devote sufficient resources to the development, manufacture, marketing or sale of these products. Moreover, disagreements with a collaborator could develop, and any conflict with a collaborator could lead to litigation and could reduce our ability to enter into future collaboration agreements and negatively impact our relationships with one or more existing collaborators. If any of these events occur, especially if they occur in our collaborations with GSK, Merck or Novartis, or if we fail to maintain our agreements with our collaborators, we may not be able to commercialize our existing and potential products or grow our business or generate sufficient revenues to support our operations, we may not receive contemplated milestone payments and royalties under the collaboration, and we may be involved in litigation. Our collaboration opportunities could be harmed and our financial condition and results of operations could be negatively affected if:
we do not achieve our research and development objectives under our collaboration agreements in a timely manner or at all;
we develop products and processes or enter into additional collaborations that conflict with the business objectives of our other collaborators;
we, our collaborators and/or our contract manufacturers do not receive the required regulatory and other approvals necessary for the commercialization of the applicable product;
we disagree with our collaborators as to rights to intellectual property that are developed during the collaboration, or their research programs or commercialization activities;
we are unable to manage multiple simultaneous collaborations;
our collaborators or licensees are unable or unwilling to implement or use the technology or products that we provide or license to them;
our collaborators become competitors of ours or enter into agreements with our competitors;
our collaborators become unable or less willing to expend their resources on research and development or commercialization efforts due to general market conditions, their financial condition or other circumstances beyond our control; or
our collaborators experience business difficulties, which could eliminate or impair their ability to effectively perform under our agreements.
Takeda recently confirmed that it will end research, discovery and preclinical work in certain rare disease areas that may overlap with the programs on which we collaborate. We continue to engage in discussions with Takeda about the foregoing but Takeda Agreement remains in effect as of the date of this report.
Even after collaboration relationships expire or terminate, some elements of the collaboration may survive. For instance, certain rights, licenses and obligations of each party with respect to intellectual property and program materials may survive the expiration or termination of the collaboration. Disagreements or conflicts between and among the parties could develop even though the collaboration has ended. These disagreements or conflicts could result in expensive arbitration or litigation, which may not be resolved in our favor.
Finally, our business could be negatively affected if any of our collaborators or suppliers undergoes a change of control or were to otherwise assign the rights or obligations under any of our agreements.
46


If we are unable to develop and commercialize new products for the pharmaceutical, biotherapeutics, diagnostics and life science tools markets, our business and prospects will be harmed.
We plan to launch new products for the pharmaceutical, biotherapeutics, diagnostics and other life science tools markets such as our ECO Synthesis Platform. These efforts are subject to numerous risks, including the following:
customers in these markets may be reluctant to adopt new manufacturing processes that use our enzymes;
we may be unable to successfully develop the enzymes or manufacturing processes for our products in a timely and cost-effective manner, if at all;
we may face difficulties in transferring the developed technologies to our customers and the contract manufacturers that we may use for commercial scale production of intermediates and enzymes in these markets;
the biotherapeutics products for which we are designing our technologies may not receive regulatory approval or be commercially viable;
the contract manufacturers that we may use may be unable to scale their manufacturing operations to meet the demand for these products and we may be unable to secure additional manufacturing capacity;
customers may not be willing to purchase these products for these markets from us on favorable terms, if at all;
we may face product liability litigation, unexpected safety or efficacy concerns and product recalls or withdrawals;
our customers’ products may experience adverse events or face competition from new products, which would reduce demand for our products;
we may face pressure from existing or new competitive products; and
we may face pricing pressures from existing or new competitors, some of which may benefit from government subsidies or other incentives.
Competitors and potential competitors who have greater resources and experience than we do may develop products and technologies that make ours obsolete or may use their greater resources to gain market share at our expense.
The biocatalysis and performance enzyme industries and each of our target markets are characterized by rapid technological change. Our future success will depend on our ability to maintain a competitive position with respect to technological advances. In addition, as we enter new markets, we will face new competition and will need to adapt to competitive factors that may be different from those we face today.
We are aware that other companies, including Royal DSM, N.V. (“DSM”), BASF, Bayer and Novozymes have alternative methods for obtaining and generating genetic diversity or use mutagenesis techniques to produce genetic diversity. Academic institutions such as the California Institute of Technology, the Max Planck Institute and the Austrian Centre of Industrial Biotechnology are also working in this field. Technological development by others may result in our technology, products and services, as well as products developed by our customers using our biocatalysts, becoming obsolete.
Our primary competitors in the performance enzymes for pharmaceutical products are companies marketing either conventional, non-enzymatic processes or biocatalytic enzymes to manufacturers of pharmaceutical intermediates and APIs, and also existing in-house technologies (both biocatalysts and conventional catalysts) within our client and potential client companies. The principal methods of competition and competitive differentiation in this market are price, product quality and performance, including manufacturing yield, safety and environmental benefits, and speed of delivery of product. Pharmaceutical manufacturers that use biocatalytic processes can face increased competition from manufacturers that use more conventional processes and/or manufacturers that are based in regions (such as India and China) with lower regulatory, safety and environmental costs.
The market for the manufacture and supply of APIs and intermediates is large with many established companies. These companies include many of our large innovator and generic pharmaceutical customers, such as Merck, GSK, Novartis, Pfizer, Bristol-Myers, Kyorin, Urovant and Teva which have significant internal research and development efforts directed at developing processes to manufacture APIs and intermediates. The processes used by these companies include classical conventional organic chemistry reactions, chemo catalytic reactions, biocatalytic reactions or combinations thereof. Our biocatalytic based manufacturing processes must compete with these internally developed routes. Additionally, we also face competition from companies developing and marketing conventional catalysts such as Solvias Inc., BASF and Takasago International Corporation.
47


The market for supplying enzymes for use in pharmaceutical manufacturing is quite fragmented. There is competition from large industrial enzyme companies, such as Novozymes and DuPont, as well as subsidiaries of larger contract research/contract manufacturing organizations, such as DSM, Cambrex Corporation, Lonza, WuXi STA and Almac Group Ltd. Some fermentation pathway design companies, like Ginkgo Bioworks (who recently acquired Zymergen), whose traditional focus has been to design microorganisms that express small molecule chemicals, could extend into designing organisms that express enzymes. There is also competition in the enzyme customization and optimization area from several smaller companies, such as BRAIN AG, Arzeda, c-LEcta GmbH and Evocatal GmbH.
Our ability to compete successfully in any of these markets will depend on our ability to develop proprietary products that reach the market in a timely manner and are technologically superior to and/or are less expensive than other products on the market. Many of our competitors have substantially greater production, financial, research and development, personnel and marketing resources than we do. They also started developing products earlier than we did, which may allow them to establish blocking intellectual property positions or bring products to market before we can. In addition, certain of our competitors may also benefit from local government subsidies and other incentives that are not available to us. As a result, our competitors may be able to develop competing and/or superior technologies and processes and compete more aggressively and sustain that competition over a longer period of time than we could. Our technologies and products may be rendered obsolete or uneconomical by technological advances or entirely different approaches developed by one or more of our competitors. We cannot be certain that any products we develop in the future will compare favorably to products offered by our competitors or that our existing or future products will compare favorably to any new products that are developed by our competitors. As more companies develop new intellectual property in our markets, the possibility of a competitor acquiring patent or other rights that may limit our products or potential products increases, which could lead to litigation.
Our limited resources relative to many of our competitors may cause us to fail to anticipate or respond adequately to new developments and other competitive pressures. This failure could reduce our competitiveness and market share, adversely affect our results of operations and financial position, and prevent us from obtaining or maintaining profitability.
COVID-19 has adversely affected, and any resurgence of COVID-19 pandemic or another global health epidemic may in the future, directly or indirectly, adversely affect our business, results of operations and financial condition.
COVID-19 has had a significant impact globally, prompting governments and businesses to take unprecedented measures in response. In the United States, COVID-19 has and may continue in the future to, directly or indirectly, adversely affect our business, results of operations and financial condition.
In the future, our business could be materially adversely affected, directly or indirectly, by the widespread outbreak of contagious disease, such as COVID-19. If, similar to the response to COVID-19, national, state and local governments in affected regions implement safety precautions, including quarantines, border closures, increased border controls, travel restrictions, governmental orders and shutdowns, business closures, cancellations of public gatherings and other measures, which could, and for COVID-19 did, disrupt normal business operations both in and outside of affected areas and could have significant negative impacts on businesses and financial markets worldwide.
The impact of COVID-19 has had, and any resurgence of the COVID-19 pandemic or another pandemic or public health crisis, could in the future have, significant repercussions across regional, national and global economies and financial markets, and could trigger a period of regional, national and global economic slowdown or regional, national or global recessions. The outbreak of COVID-19 in many countries adversely impacted regional, national and global economic activity and has continued to contribute to significant volatility and negative pressure in financial markets. As a result, we may experience difficulty accessing debt and equity capital on attractive terms, or at all, due to the severe disruption and instability in the global financial markets. In addition, our customers may terminate or amend their agreements for the purchase of our technology, products and services due to bankruptcy, lack of liquidity, lack of funding, operational failures or other reasons.
Revenues in future years from our sales of CDX-616 to Pfizer are subject to a number of factors which are outside of our control and may not materialize.
Starting the first and second quarters of 2021, we began to receive purchase orders from Pfizer for large quantities of our proprietary enzyme product, CDX-616, for use by Pfizer in the manufacture of a critical intermediate for its proprietary active pharmaceutical ingredient, nirmatrelvir. Pfizer markets, sells and distributes nirmatrelvir, in combination with the active pharmaceutical ingredient ritonavir, as its PAXLOVID™ (nirmatrelvir tablets; ritonavir tablets) product, which received FDA approval in May 2023 for the treatment of mild-to-moderate COVID-19 in adults who are at high risk for progression to severe COVID-19, including hospitalization or death.
48


Revenues in 2023 and in future years from our sales of CDX-616 to Pfizer and other potential customers (including sublicensees of Pfizer technology from The Medicines Patent Pool (the “MPP”)) are subject to a number of factors which are outside of our control, including, without limitation, the following, all of which could reduce or eliminate our sales of CDX-616, and therefore materially and adversely affect our business, results of operations and financial condition:
Pfizer has no future binding commitment to purchase any particular quantity or quantities of CDX-616 from us, and we are dependent upon Pfizer continuing to place orders with us (whether on a spot basis or under a long term agreement, when and if executed) for their requirements, if any, for CDX-616;
to our knowledge, sublicensees of Pfizer technology from the MPP have no obligation to purchase CDX-616 from us under their sublicenses with the MPP;
future vaccine development and usage and the development and usage of other new therapies for the treatment or elimination of COVID-19 may eliminate or reduce demand for PAXLOVID™;
new variants of COVID-19 may emerge which PAXLOVID™ is not effective in treating;
Pfizer could reformulate or make changes in the manufacturing process for nirmatrelvir which would eliminate or reduce demand for the use of CDX-616 in its manufacture;
sublicensees of Pfizer technology for the manufacture, sale and distribution of PAXLOVID™ from the MPP may not utilize CDX-616 in the manufacture of nirmatrelvir;
national and regional governmental authorities (including those of the United States government) may mandate that raw materials and intermediates used in the manufacture of PAXLOVID™ to be marketed, sold and distributed within the borders of that country be domestically produced, which could eliminate or reduce demand for the use of CDX-616 in such country; and
we may be unable (because of lack of available manufacturing capacity at our contract manufacturers, supply chain disruptions or an inability to obtain applicable regulatory approvals) to manufacture the quantities of CDX-616 that Pfizer may desire to purchase from us.
We have investments in non-marketable securities, which may subject us to significant impairment charges.
We have investments in illiquid non-marketable equity securities acquired in private transactions. As of September 30, 2023, 11.7% of our consolidated assets consisted of investment securities, which are illiquid investments. Investments in illiquid, or non-marketable, securities are inherently risky and difficult to value. We account for our non-marketable equity securities under the measurement alternative. Under the measurement alternative, the carrying value of our non-marketable equity investments is adjusted to fair value for observable transactions for identical or similar investments of the same issuer or impairment. We evaluate our investment in non-marketable securities when circumstances indicate that we may not be able to recover the carrying value. We may impair these securities and establish an allowance for a credit loss when we determine that there has been an “other-than-temporary” decline in estimated fair value of the equity security compared to its carrying value. The impairment analysis requires significant judgment to identify events or circumstances that would likely have a material adverse effect on the fair value of the investment. Because over 5% of our total assets consisted of non-marketable investment securities, any future impairment charges from the write down in value of these securities could have a material adverse effect on our financial condition or results of operations.
Ethical, legal and social concerns about genetically engineered products and processes could limit or prevent the use of our technology, products and processes and limit our revenues.
Some of our technology, products and services, such as our ECO Synthesis Platform, are genetically engineered or involve the use of genetically engineered products or genetic engineering technologies. If we and/or our collaborators are not able to overcome the ethical, legal, and social concerns relating to genetic engineering, our technology, products and services may not be accepted. Any of the risks discussed below could result in increased expenses, delays, or other impediments to our programs or the public acceptance and commercialization of products and processes dependent on our technologies or inventions. Our ability to develop and commercialize one or more of our technologies, products, or processes could be limited by the following factors:
public attitudes about the safety and environmental hazards of, and ethical concerns over, genetic research and genetically engineered products and processes, which could influence public acceptance of our technologies, products and processes;
49


public attitudes regarding, and potential changes to laws governing ownership of genetic material, which could harm our intellectual property rights with respect to our genetic material and discourage collaborators from supporting, developing, or commercializing our technology, products and services; and
governmental reaction to negative publicity concerning genetically modified organisms, which could result in greater government regulation of genetic research and derivative products.
The subject of genetically modified organisms has received negative publicity, which has aroused public debate. This adverse publicity could lead to greater regulation and trade restrictions on imports of genetically altered products. The biocatalysts that we develop have significantly enhanced characteristics compared to those found in naturally occurring enzymes or microbes. While we produce our biocatalysts only for use in a controlled industrial environment, the release of such biocatalysts into uncontrolled environments could have unintended consequences. Any adverse effect resulting from such a release could have a material adverse effect on our business and financial condition, and we may have exposure to liability for any resulting harm.
We have recently enhanced our strategic focus to concentrate of certain programs and business lines. As a result of this refined focus, we may fail to capitalize on other opportunities that may be more profitable or for which there is a greater likelihood of success.
Because we have limited financial and managerial resources, we have recently focused our efforts on developing certain programs and business lines. As a result, we may forego or delay pursuit of opportunities with business opportunities that later prove to have greater commercial potential. Further our resource allocation decisions may cause us to fail to capitalize on viable commercial products or profitable market opportunities. In addition, our spending on current and future research and development programs, such as ECO Synthesis Platform that is in development, may not yield any commercially viable products. If we do not accurately evaluate the commercial potential or target market for a particular program or business line, our business and results of operations could be harmed.
Given our recent change in strategic direction, we may receive limited revenue or no future value from certain of our existing license agreements.
While we have historically invested significant time and financial resources in the development of CDX-7108 for the treatment of exocrine pancreatic insufficiency, now included in the Nestlé Strategic Collaboration Agreement, and CDX-6114 for the treatment of hyperphenylalaninemia, now included in the Nestlé License Agreement, as well as in the development of candidates for the treatment of Fabry disease and Pompe disease, which are now included in the Takeda Agreement, we recently announced we are terminating investment in our Biotherapeutics business and in other programs. As a result, we are renegotiating some of these, along with other license agreements for product candidates in our Biotherapeutics business and food business. While we are working to amend or terminate some of these agreements and enter into new agreements in such a way that we may be able to receive future revenue or other benefits, we may be unsuccessful in doing so. As a result, it remains uncertain as to whether we will receive any value or benefit from these license agreements going forward. Further, renegotiating these agreements may be costly and could divert management attention, which could have an adverse impact on our business and results of operations.
We use hazardous materials in our business and we must comply with environmental laws and regulations. Any claims relating to improper handling, storage or disposal of these materials or noncompliance of applicable laws and regulations could be time consuming and costly and could adversely affect our business and results of operations.
Our research and development and commercial processes involve the use of hazardous materials, including chemical, radioactive and biological materials. Our operations also produce hazardous waste. We cannot eliminate entirely the risk of accidental contamination or discharge and any resultant injury from these materials. Federal, state, local and foreign laws and regulations govern the use, manufacture, storage, handling and disposal of, and human exposure to, these materials. We may be sued for any injury or contamination that results from our use or the use by third parties of these materials, and our liability may exceed our total assets. Although we believe that our activities comply in all material respects with environmental laws, there can be no assurance that violations of environmental, health and safety laws will not occur in the future as a result of human error, accident, equipment failure or other causes. Compliance with applicable environmental laws and regulations may be expensive, and the failure to comply with past, present or future laws could result in the imposition of fines, third party property damage, product liability and personal injury claims, investigation and remediation costs, the suspension of production or a cessation of operations, and our liability may exceed our total assets. Liability under environmental laws can be joint and several and without regard to comparative fault. Environmental laws could become more stringent over time imposing greater compliance costs and increasing risks and penalties associated with violations, which could impair our research, development or production efforts and harm our business. In addition, we may have to indemnify some of our customers or suppliers for losses related to our failure to comply with environmental laws, which could expose us to significant liabilities.
50


Our ability to use our net operating loss carryforwards to offset future taxable income may be subject to certain limitations.
In general, under Section 382 of the Internal Revenue Code of 1986, as amended (the “Code”), a corporation that undergoes an “ownership change” is subject to limitations on its ability to utilize its pre-change net operating loss carryforwards (“NOLs”), to offset future taxable income. If the Internal Revenue Service challenges our analysis that our existing NOLs are not subject to limitations arising from previous ownership changes, our ability to utilize NOLs could be limited by Section 382 of the Code. Future changes in our stock ownership, some of which are outside of our control, could result in an ownership change under Section 382 of the Code. Furthermore, our ability to utilize NOLs of companies that we may acquire in the future may be subject to limitations. For these reasons, we may not be able to utilize a material portion of the NOLs reflected in our financial statements, even if we attain profitability.
As a public reporting company, we are subject to rules and regulations established from time to time by the Securities and Exchange Commission and Nasdaq regarding our internal controls over financial reporting. We may not complete needed improvements to our internal controls over financial reporting in a timely manner, or these internal controls may not be determined to be effective, which may adversely affect investor confidence in our company and, as a result, the value of our common stock and your investment.
We are subject to the rules and regulations established from time to time by the Securities and Exchange Commission, and Nasdaq. These rules regulations require, among other things, that we establish and periodically evaluate procedures with respect to our internal controls over financial reporting. As part of these evaluations, material weaknesses in our internal controls over financial reporting may be identified. A material weakness is a deficiency, or a combination of deficiencies, in internal controls over financial reporting such that there is a reasonable possibility that a material misstatement of a company’s annual or interim consolidated financial statements will not be prevented or detected on a timely basis. While we were able to remediate previously identified material weaknesses in our internal controls over financial reporting, there can be no guarantee we will not identify similar or other material weaknesses in the future and if such material weaknesses are identified, there can be no guarantee we would be able to remediate such material weaknesses. Any material weaknesses in our internal controls may adversely affect our ability to record, process, summarize and accurately report timely financial information and, as a result, our consolidated financial statements may contain material misstatements or omissions.
Reporting obligations as a public company place a considerable strain on our financial and management systems, processes and controls, as well as on our personnel. In addition, as a public company we are required to document and test our internal controls over financial reporting pursuant to Section 404 of the Sarbanes-Oxley Act so that our management can certify as to the effectiveness of our internal controls over financial reporting. Likewise, our independent registered public accounting firm is required to provide an attestation report on the effectiveness of our internal controls over financial reporting in our Annual Reports on Form 10-K. If our management is unable to certify the effectiveness of our internal controls or if our independent registered public accounting firm cannot deliver a report attesting to the effectiveness of our internal controls over financial reporting, or if we identify or fail to remediate material weaknesses in our internal controls, we could be subject to regulatory scrutiny and a loss of public confidence, which could seriously harm our reputation and the market price of our common stock. In addition, if we do not maintain adequate financial and management personnel, processes and controls, we may not be able to manage our business effectively or accurately report our financial performance on a timely basis, which could cause a decline in our common stock price and may seriously harm our business.
We may need additional capital in the future in order to expand our business.
Our future capital requirements may be substantial, particularly as we continue to develop our business. Although we believe that, based on our current level of operations, our existing cash, cash equivalents and equity securities will provide adequate funds for ongoing operations, planned capital expenditures and working capital requirements for at least the next 12 months, we may need additional capital if our current plans and assumptions change. Our need for additional capital will depend on many factors, including the financial success of our performance enzyme business, our spending to develop and commercialize new and existing enzyme products and the amount of collaboration funding we may receive to help cover the cost of such expenditures, the effect of any acquisitions of other businesses, technologies or facilities that we may make or develop in the future, our spending on new market opportunities, including the ongoing commercialization of our ECO Synthesis Platform, and the filing, prosecution, enforcement and defense of patent claims. If our capital resources are insufficient to meet our capital requirements, and we are unable to enter into or maintain collaborations with partners that are able or willing to fund our development efforts or commercialize any enzyme products that we develop or enable, we will have to raise additional funds to continue the development of our technology and products and complete the commercialization of products, if any, resulting from our technologies.
51


In addition, we may choose to raise additional capital due to market conditions or strategic considerations, such as funding the ongoing commercialization of our ECO Synthesis Platform, even if we believe we have sufficient funds for our current or future operating plans. We may seek to obtain such additional capital through equity offerings, including pursuant to the EDA, debt financings, credit facilities and/or strategic collaborations. If future financings involve the issuance of equity securities, our existing stockholders would suffer dilution. If we raise debt financing or enter into credit facilities, we may be subject to restrictive covenants that limit our ability to conduct our business. Strategic collaborations may also place restrictions on our business. We may not be able to raise sufficient additional funds on terms that are favorable to us, if at all. If we fail to raise sufficient funds and fail to generate sufficient revenues to achieve planned gross margins and to control operating costs, our ability to fund our operations, take advantage of strategic opportunities, develop products or technologies, or otherwise respond to competitive pressures could be significantly limited. If this happens, we may be forced to delay or terminate research or development programs or the commercialization of products resulting from our technologies, curtail or cease operations or obtain funds through collaborative and licensing arrangements that may require us to relinquish commercial rights, or grant licenses on terms that are not favorable to us. If adequate funds are not available, we will not be able to successfully execute our business plan or continue our business.
If we engage in any acquisitions, we will incur a variety of costs and may potentially face numerous risks that could adversely affect our business and operations.
We have made acquisitions in the past, and if appropriate opportunities become available, we expect to acquire additional businesses, assets, technologies, or products to enhance our business in the future. For example, in October 2010, we acquired substantially all of the patents and other intellectual property rights associated with Maxygen’s directed evolution technology.
In connection with any future acquisitions, we could:
issue additional equity securities, which would dilute our current stockholders;
incur substantial debt to fund the acquisitions;
use our cash to fund the acquisitions; or
assume significant liabilities including litigation risk.
Acquisitions involve numerous risks, including problems integrating the purchased operations, technologies or products, unanticipated costs and other liabilities, diversion of management’s attention from our core businesses, adverse effects on existing business relationships with current and/or prospective collaborators, customers and/or suppliers, risks associated with entering markets in which we have no or limited prior experience and potential loss of key employees. We do not have extensive experience in managing the integration process and we may not be able to successfully integrate any businesses, assets, products, technologies or personnel that we might acquire in the future without a significant expenditure of operating, financial and management resources, if at all. The integration process could divert management’s time from focusing on operating our business, result in a decline in employee morale and cause retention issues to arise from changes in compensation, reporting relationships, future prospects or the direction of the business. Acquisitions may also require us to record goodwill and non-amortizable intangible assets that will be subject to impairment testing on a regular basis and potential periodic impairment charges, incur amortization expenses related to certain intangible assets, and incur large and immediate write offs and restructuring and other related expenses, all of which could harm our operating results and financial condition. In addition, we may acquire companies that have insufficient internal financial controls, which could impair our ability to integrate the acquired company and adversely impact our financial reporting. If we fail in our integration efforts with respect to any of our acquisitions and are unable to efficiently operate as a combined organization, our business and financial condition may be adversely affected.
52


Risks Related to Government Regulation
We or our customers may not be able to obtain regulatory approval for the use of our products in food and food ingredients, if required, and, even if approvals are obtained, complying on an ongoing basis with the numerous regulatory requirements applicable to these products will be time-consuming and costly.
The products that we develop for our food and food ingredient customers are, and any other products that we may develop for the food and food ingredients market will likely be, subject to regulation by various government agencies, including the FDA, state and local agencies and similar agencies outside the United States, as well as religious compliance certifying organizations. Food ingredients are regulated by the FDA either as food additives or as substances generally recognized as safe (“GRAS”). A substance can be listed or affirmed as GRAS by the FDA or self-affirmed by its manufacturer upon determination that independent qualified experts would generally agree that the substance is GRAS for a particular use. While we generally self-affirm GRAS status for the ingredients used in the products that we develop for the food market, our customer(s) may be required to submit a GRAS notification to FDA to establish that ingredients in a final commercial product may be considered GRAS. There can be no assurance that our customer(s) will not receive any objections from the FDA with respect to any GRAS notification our customer(s) may submit. If the FDA were to disagree with our customer’s determination that their commercial product and/or its ingredients are GRAS or otherwise compliant, the FDA could ask such customer to voluntarily withdraw the final commercial product from the market or could initiate legal action to halt its sale. Such actions by the FDA could have an adverse effect on our business, financial condition, and results of our operations. Food ingredients that are not GRAS are regulated as food additives and require FDA approval prior to commercialization or must be the subject of an existing food additive regulation. The food additive petition process for ingredients that are not already authorized by regulation is generally expensive and time consuming, with approval, if secured, potentially taking years.
Our ongoing efforts to deploy our technology in the life science tools markets may fail.
We have used our CodeEvolver® protein engineering technology platform to develop new products for customers using NGS and PCR/qPCR for in vitro molecular diagnostic applications. While we have entered into some license agreements for products in this market, we do not know if we can successfully compete in this new market. This new market is well established and consists of numerous large, well-funded entrenched market participants who have long and established track records and customer relationships.
We have also developed a newly engineered ligase designed to address sequencing challenges. These enzymes, and any additional products that we may develop in the future for this market, may not succeed in displacing current products. If we succeed in commercializing new products for this market, we may not generate significant revenues and cash flows from these activities. The failure to successfully deploy products on timely basis in this space may limit our growth and have a material adverse effect on our financial condition, operating results and business prospects.
Even if our customers, future customers or collaborators obtain regulatory approval for any products utilizing our enzymes, such products will remain subject to ongoing regulatory requirements, which may result in significant additional expense.
Any products that receive FDA approval will remain subject to ongoing regulatory requirements for manufacturing, labeling, packaging, distribution, storage, advertising, promotion, sampling, record-keeping and submission of safety and other post-market information, among other things. Any regulatory approvals received for such products may also be subject to limitations on the approved indicated uses for which they may be marketed or to the conditions of approval, or contain requirements for potentially costly post-marketing testing and surveillance studies. For example, the holder of an approved BLA in the United States is obligated to monitor and report adverse events and any failure of a product to meet the specifications in the BLA. In the United States, the holder of an approved BLA must also submit new or supplemental applications and obtain FDA approval for certain changes to the approved product, product labeling or manufacturing process. Similar provisions apply in the European Union (the “EU”). Advertising and promotional materials must comply with FDA rules and are subject to FDA review, in addition to other potentially applicable federal and state laws. Similarly, in the EU any promotion of medicinal products is highly regulated and, depending on the specific jurisdiction involved, may require prior vetting by the competent national regulatory authority. In addition, product manufacturers and their facilities are subject to payment of user fees and continual review and periodic inspections by the FDA and other regulatory authorities for compliance with cGMP requirements and adherence to commitments made in the BLA or foreign marketing application.
If our customers, future customers or our collaborators or a regulatory agency discovers previously unknown problems with a product such as adverse events of unanticipated severity or frequency or problems with the facility where the product is manufactured or disagrees with the promotion, marketing or labeling of that product, a regulatory agency may impose restrictions relative to that product, the manufacturing facility or our customers or collaborators, including requiring recall or withdrawal of the product from the market or suspension of manufacturing.
53


In addition, if we or our customers or collaborators fail to comply with applicable regulatory requirements, the FDA and other regulatory authorities may:
issue an untitled letter or a warning letter asserting a violation of the law;
seek an injunction, impose civil or criminal penalties, and impose monetary fines, restitution or disgorgement of profits or revenues;
suspend or withdraw regulatory approval;
issue safety alerts, Dear Healthcare Provider letters, press releases or other communications containing warnings or other safety information about the product;
mandate modification of promotional materials and labeling and issuance of corrective information;
issue consent decrees or corporate integrity agreements, or debar or exclude from federal healthcare programs;
suspend or terminate any ongoing clinical trials or implement requirements to conduct post-marketing studies or clinical trials;
refuse to approve a pending BLA or comparable foreign marketing application (or any supplements thereto);
restrict the labeling, marketing, distribution, use or manufacturing of products;
seize or detain products or otherwise require the withdrawal or recall of products from the market;
refuse to approve pending applications or supplements to approved applications;
refuse to permit the import or export of products; or
refuse government contracts.
Any government investigation of alleged violations of law could require us to expend significant time and resources in response and could generate negative publicity. The occurrence of any event or penalty described above may also inhibit our customers or collaborators’ ability to commercialize products and our ability to generate revenues.
In addition, the FDA’s policies, and policies of foreign regulatory agencies, may change, and additional regulations may be enacted that could prevent, limit or delay regulatory approval of product candidates. We cannot predict the likelihood, nature or extent of government regulation that may arise from future legislation or administrative or executive action, either in the United States or abroad. If we are slow or unable to adapt to changes in existing requirements or the adoption of new requirements or policies, or if we are not able to maintain regulatory compliance, we may be subject to enforcement action and we may not achieve or sustain profitability.
If we or our customers fail to comply with certain healthcare laws, including fraud and abuse laws, we could face substantial penalties and our business, results of operations, financial condition and prospects could be adversely affected.

Our business operations and future arrangements with investigators, healthcare professionals, and consultants, among others, may expose us and our customers to broadly applicable fraud and abuse and other healthcare laws and regulations, including, without limitation, the federal Anti-Kickback Statute, the federal civil False Claims Act, the federal Civil Monetary Penalties Law, the federal Physician Payments Sunshine Act, and analogous state laws. These laws may constrain the business or financial arrangements and relationships through which we will conduct our operations, including how we and our customers research, market, sell and distribute our product candidates, if approved. Because of the breadth of these laws and narrowness of available statutory and regulatory exceptions, it is possible that some of our business activities could be regulated by or subject to challenge under one or more of such laws. If we or our operations are found to be in violation of any of the laws described above or any other governmental regulations that apply to us, we may be subject to penalties, including civil and criminal penalties, damages, fines, imprisonment and the curtailment or restructuring of our operations, any of which could materially adversely affect our ability to operate our business and our financial results.

54


Coverage and reimbursement may be limited or unavailable in certain market segments for our product candidates, if approved, which could make it difficult for us to sell any product candidates profitably.

Significant uncertainty exists as to the coverage and reimbursement status of any products for which we may obtain regulatory approval. In the United States, sales of any products for which we may receive regulatory approval will depend, in part, on the availability of coverage and adequacy of reimbursement from third-party payors, including Medicare, Medicaid, TRICARE, the Veterans Administration, managed care providers, and private health insurers. Patients who are provided medical treatment for their conditions typically rely on third-party payors to reimburse all or part of the costs associated with their treatment. Accordingly, patients may be unlikely to use our product candidates unless coverage is provided and reimbursement is adequate to cover a significant portion of the cost. We cannot be sure that coverage and adequate reimbursement will be available for any product that we may develop and, if reimbursement is available, what the level of reimbursement will be.
Coverage and reimbursement for products may vary depending on the payor, the insurance plan, and other factors. In general, obtaining coverage and reimbursement approval of a product from a government or other third-party payor is time-consuming and costly. We may be required to conduct expensive pharmacoeconomic studies to justify coverage and reimbursement or the level of reimbursement relative to other therapies. Even if we obtain coverage for a given product, the resulting reimbursement payment rates might not be adequate for us to achieve or sustain profitability or may require co-payments that patients find unacceptably high. If coverage and adequate reimbursement are not available or reimbursement is available only to limited levels, we may not be able to successfully commercialize the products for which we obtain regulatory marketing approval.
Further, changes to current state and federal healthcare laws and healthcare reform measures that may be adopted in the future that impact coverage and reimbursement for healthcare products and services may result in additional payment reductions in Medicare and other healthcare funding and otherwise affect the prices we may obtain for any products for which we may obtain regulatory approval, or the frequency with which any such product is prescribed or used.
Ongoing healthcare legislative and regulatory reform measures may have a material adverse effect on our business and results of operations.

In the United States and other jurisdictions, there have been a number of legislative and regulatory changes and proposed changes to the healthcare system that could prevent or delay regulator approval of our product candidates, or could affect our ability to profitably sell any product candidates for which we obtain marketing approval or licensure. Changes in regulations, statutes, or the interpretation of existing regulations governing the regulatory clearance or approval, manufacture, and marketing of regulated products or the pricing, coverage and reimbursement thereof could impact our business in the future by resulting in, for example: (i) changes to our manufacturing arrangements; (ii) additions or modifications to product labeling; (iii) the recall or discontinuation of our products; (iv) more rigorous coverage criteria or additional downward pressure on the price that we receive for product candidates for which we obtain marketing approval; or (v) additional record-keeping requirements. If any such changes were to be imposed, they could adversely affect the operation of our business.

In the United States, there have been, and we expect there will continue to be, a number of legislative initiatives to contain healthcare costs. For example, in August 2022, President Biden signed into law the Inflation Reduction Act (IRA), which implements substantial changes to the Medicare program, including drug pricing reforms and changes to the Medicare Part D benefit design. Among other reforms, the IRA imposes inflation rebates on pharmaceutical manufacturers for products reimbursed under Medicare Parts B and D if the prices of those products increase faster than inflation. It also implements changes to the Medicare Part D benefit that, beginning in 2025, will cap patient annual out-of-pocket spending at $2,000, while imposing new discount obligations for pharmaceutical manufacturers and payors. Finally, beginning in 2026, the IRA establishes a “maximum fair price” for a fixed number of high spend pharmaceutical and biological products covered under Medicare Parts B and D following a price negotiation process with the Centers for Medicare and Medicaid Services (CMS). Since its enactment, the Centers for Medicare and Medicaid Services, or CMS, has taken steps to implement various drug pricing provisions of the IRA.

While it remains to be seen how the drug pricing provisions imposed by the IRA will affect the broader pharmaceutical industry, several pharmaceutical manufacturers and other industry stakeholders have challenged the law, including through lawsuits brought against the U.S. Department of Health and Human Services, the Secretary of the U.S. Department of Health and Human Services, CMS, and the CMS Administrator challenging the constitutionality and administrative implementation of the IRA’s price negotiation provisions.

55


We cannot predict whether the IRA, or any of its component parts, will be overturned, repealed, replaced, or amended, nor can we predict the likelihood, nature, or extent of other health reform initiatives that may arise from future legislation, administrative, or other action. However, we expect these initiatives and other initiatives to increase pressure on drug pricing and healthcare spending in the United States. If we or any third parties we may engage are slow or unable to adapt to changes in existing requirements or the adoption of new requirements or policies, or if we or such third parties are not able to maintain regulatory compliance, our product candidates may lose any regulatory approval that may have been obtained and we may not achieve or sustain profitability.
Compliance with European Union chemical regulations could be costly and adversely affect our business and results of operations.
Some of our products are subject to the EU regulatory regime known as The Registration, Evaluation and Authorization of Chemicals (“REACH”). REACH mandates that certain chemicals manufactured in, or imported into, the EU be registered and evaluated for their potential effects on human health and the environment. Under REACH, we and our contract manufacturers located in the EU are required to register certain of our products based on the quantity of such product imported into or manufactured in the EU and on the product’s intended end-use. The registration, evaluation and authorization process under REACH can be costly and time consuming. Problems or delays in the registration, evaluation or authorization process under REACH could delay or prevent the manufacture of some of our products in, or the importation of some of our products into, the EU, which could adversely affect our business and results of operations. In addition, if we or our contract manufacturers fail to comply with REACH, we may be subject to penalties or other enforcement actions, which could have a material adverse effect on our business and results of operations.
Risks Related to Intellectual Property and Information Technology
Our efforts to prosecute, maintain, protect and/or defend our intellectual property rights may not be successful.
We will continue to file and prosecute patent applications and maintain trade secrets in an ongoing effort to protect our intellectual property rights. It is possible that our current patents, or patents which we may later acquire, may be successfully challenged or invalidated, in whole or in part. It is also possible that we may not obtain issued patents from our pending patent applications. We sometimes permit certain patents or patent applications to lapse or go abandoned under appropriate circumstances. Due to uncertainties inherent in prosecuting patent applications, sometimes patent applications are rejected, and we subsequently abandon them. It is also possible that we may develop proprietary technology, products or services in the future that are not patentable or that the patents of others will limit or altogether preclude our ability to conduct business. In addition, any patent issued to us or to our licensor may provide us with little or no competitive advantage, in which case we may abandon such patent or license it to another entity or terminate the license agreement.
Our means of protecting our proprietary rights may not be adequate and our competitors may independently develop technologies, products or services that are identical or similar to ours or that compete with ours. Patent, trademark, copyright and trade secret laws afford only limited protection for our technology, products and services . The laws of many countries do not protect our proprietary rights to as great an extent as do the laws of the United States. Despite our efforts to protect our proprietary rights, unauthorized parties have in the past attempted, and may in the future attempt, to operate under the aspects of our intellectual property rights, or proprietary technology, products or services or products, or to obtain and use information that we regard as proprietary. Third parties may also design around our proprietary rights, which may render our protected technology, services and products less valuable, if the design around is favorably received in the marketplace. In addition, if any of our technology, products and services is covered by third-party patents or other intellectual property rights, we could be subject to various legal actions. We cannot assure that our technology products and/or services do not infringe, violate or misappropriate any patents or other intellectual property rights owned or controlled by others or that they will not in the future.
Litigation may be necessary to enforce our intellectual property rights, to protect our trade secrets, to determine the validity and scope of the proprietary rights of others, or to defend against claims of infringement, invalidity, misappropriation, or other claims.
Any such litigation could result in substantial costs and diversion of our resources. Moreover, any settlement of or adverse judgment resulting from litigation relating to intellectual property rights could require us to obtain a license to continue to make, use, import, sell or offer for sale the technology, products or services that is the subject of the claim, or otherwise restrict or prohibit our use of the technology, products or services.
56


Our ability to compete may decline if we do not adequately prosecute, maintain, protect and/or defend our proprietary technology, products or services or our intellectual property rights.
Our success depends in part on our ability to obtain patents and maintain adequate protection of our intellectual property rights directed to our technology, products and services in the United States and other countries. We have adopted a strategy of seeking patent protection in the United States and in foreign countries with respect to certain of the technology used in or relating to our products, services, and processes. As such, as of September 30, 2023, we owned or controlled approximately 2,090 issued patents and pending patent applications in the United States and in various foreign jurisdictions. Our patents and patent applications, if issued, as of September 30, 2023, have terms that expire between 2023 and approximately 2044. We also have license rights to a number of issued patents and pending patent applications in the United States and in various foreign jurisdictions. Our owned and licensed patents and patent applications include those directed to our enabling technology and to the methods and products that support our business in the pharmaceutical manufacturing, life sciences, oligonucleotide synthesis, and other markets. We intend to continue to apply for patents relating to our technology, methods, services and products as we deem appropriate.
Issuance of claims in patent applications and enforceability of such claims once issued involve complex legal and factual questions and, therefore, we cannot predict with any certainty whether any of our issued patents will survive invalidity claims asserted by third parties. Issued patents and patents issuing from pending applications may be challenged, invalidated, circumvented, rendered unenforceable or substantially narrowed in scope. In addition, the inventorship and ownership of the patents and patent applications may be challenged by others. Moreover, the United States Leahy-Smith America Invents Act (“AIA”), enacted in September 2011, brought significant changes to the United States patent system, which include a change to a “first to file” system from a “first to invent” system and changes to the procedures for challenging issued patents and disputing patent applications during the examination process, among other things. While interference proceedings are possible for patent claims filed prior to March 16, 2013, many of our filings will be subject to the post- and pre-grant proceedings set forth in the AIA, including citation of prior art and written statements by third parties, third party pre-issuance submissions, ex parte reexamination, inter partes review, post-grant review, and derivation proceedings. We may need to utilize the processes provided by the AIA for supplemental examination or patent reissuance. These proceedings could result in substantial cost to us even if the outcome is favorable. Even if successful, any proceeding may result in loss of certain claims. Any litigation or proceedings could divert our management's time and efforts. Even unsuccessful claims brought by third parties could result in significant legal fees and other expenses, diversion of management time, and disruption in our business. Uncertainties resulting from initiation and continuation of any patent or related litigation could harm our ability to compete.
Additional uncertainty may result from legal precedent handed down by the United States Federal Circuit Court and Supreme Court as they determine legal issues concerning the scope and construction of patent claims and inconsistent interpretation of patent laws by the lower courts. Accordingly, we cannot ensure that any of our pending patent applications will result in issued patents, or even if issued, predict the breadth of the claims upheld in our and other companies' patents. Given that the degree of future protection for our proprietary rights is uncertain, we cannot ensure that: (i) we were the first to invent the inventions covered by each of our pending applications, (ii) we were the first to file patent applications for these inventions, or (iii) the proprietary technology, products or services we develop will be patentable. In addition, unauthorized parties may attempt to copy or otherwise obtain and use our technology, products and services. Monitoring unauthorized use of our intellectual property rights is difficult, and we cannot be certain that the steps we have taken will prevent unauthorized use of our technology, products or services, particularly in certain foreign countries where the local laws may not protect our proprietary rights as fully as in the United States. Moreover, third parties could practice our inventions in territories where we do not have patent protection. Such third parties may then try to import products made using our inventions into the United States or other countries. If competitors are able to use our proprietary technology, products or services, our ability to compete effectively could be harmed. In addition, others may independently develop and obtain patents for technologies, products or services that are similar to or superior to our technologies, products or services. If that happens, we may need to license these technologies, products or services, and we may not be able to obtain licenses on reasonable terms, if at all, which could cause harm to our business.
57


Similarly, foreign courts have made, and will likely continue to make, changes in how the patent laws in their respective jurisdictions are interpreted. Changes in patent laws and regulations in other countries or jurisdictions, changes in the governmental bodies that enforce them, or changes in how the relevant governmental authority enforces patent laws or regulations may weaken our ability to obtain new patents or to enforce patents that we own or may obtain in the future. Further, the laws of some foreign countries do not protect proprietary rights to the same extent or in the same manner as the laws of the United States. For example, in some foreign jurisdictions, governments have the right to compel patent owners to grant others licenses to their intellectual property under certain circumstances. In addition, any protection afforded by foreign patents may be more limited than that provided under U.S. patent and intellectual property laws. We may encounter significant problems in enforcing and defending our intellectual property both in the United States and abroad. For example, if the issuance in a given country of a patent covering an invention is not followed by the issuance in other countries of patents covering the same invention, or if any judicial interpretation of the validity, enforceability or scope of the claims or the written description or enablement in a patent issued in one country is not similar to the interpretation given to the corresponding patent issued in other countries, our ability to protect our intellectual property rights in those countries may be limited. Changes in either patent laws or in interpretations of patent laws in the United States and other countries may materially diminish the value of our intellectual property rights or narrow the scope of our patent protection. We cannot predict future changes in the interpretation of patent laws or changes to patent laws that might be enacted into law by U.S. and foreign legislative bodies. Those changes may materially affect our patents or patent applications and our ability to obtain additional patent protection in the future. Any of the foregoing could have a material adverse effect on our competitive position, business, financial condition, results of operations and prospects.
Third parties may claim that we are infringing, violating or misappropriating their intellectual property rights, which may subject us to costly and time-consuming litigation and prevent us from developing or commercializing our technology, products or services.
Our commercial success also depends in part on our ability to operate without infringing, violating or misappropriating patents and other intellectual property rights of third parties, and without breaching any licenses or other agreements that we have entered into with regard to our technologies, products or services. We cannot ensure that patents have not been issued, or will not be issued, to third parties that could block our ability to obtain patents or to operate as we would like. There may be patents in some countries that, if valid, may block our ability to make, use, sell, or offer for sale our technology, products or services in those countries, or import our products into those countries, if we are unsuccessful in circumventing or acquiring rights to these patents. There also may be claims in patent applications filed in some countries that, if granted and valid, may also block our ability to commercialize technology, products, services or processes in these countries if we are unable to circumvent or obtain rights to them.
The industries in which we operate and the biotechnology industry, in particular, are characterized by frequent and extensive litigation regarding patents and other intellectual property rights. Many biotechnology companies have employed intellectual property litigation as a way to gain a competitive advantage. Any involvement in litigation or other intellectual property proceedings inside and outside of the United States to defend against claims that we infringe, misappropriate or violate the intellectual property of the rights of others may divert our management’s time from focusing on business operations and could cause us to spend significant amounts of money. Any potential intellectual property litigation also could force us to do one or more of the following:
stop making, using, selling or importing our technologies, products and services that use the subject intellectual property;
pay monetary damages to the third party asserting claims against us;
grant or transfer rights to third parties relating to our patents or other intellectual property rights;
obtain from the third party asserting its intellectual property rights a license to make, sell, offer for sale, import or use the relevant technology, product or service, which license may not be available on reasonable terms, or at all; or
redesign those technologies, products, services or processes that use any allegedly infringing, misappropriating or violating intellectual property rights, or relocate the operations relating to the allegedly infringing misappropriating or violating intellectual property rights to another jurisdiction, which may result in significant cost or delay to us, could be technically infeasible or could prevent us from making, selling, offering for sale, using or importing some of our technologies, products or services in the United States or other jurisdictions.
We are aware of some patents and patent applications relating to aspects of our technologies, products or services filed by, and issued to, third parties. We cannot assure that if such third party patents rights are asserted against us that we would ultimately prevail.
58


We may be involved in lawsuits to protect or enforce our intellectual property rights, which could be expensive, time-consuming and unsuccessful.
Competitors may infringe, violate or misappropriate our intellectual property rights or those of our licensors. To prevent infringement, violation, misappropriation or other unauthorized use, we have in the past filed, and may in the future be required to file, enforcement claims, which can be expensive and time-consuming. In addition, in an enforcement proceeding, a court may decide that the intellectual property right that we own or control is not valid, is unenforceable and/or is not infringed, violated or misappropriated. In addition, in legal proceedings against a third party to enforce a patent directed at one of our technologies, products or services, the defendant could counterclaim that our patent is invalid and/or unenforceable in whole or in part. In patent enforcement litigation in the United States, defendant counterclaims alleging invalidity and/or unenforceability are commonplace. Grounds for a patent validity challenge include an alleged failure to meet any of several statutory requirements, including lack of novelty, obviousness or non-enablement. Grounds for an unenforceability assertion could include an allegation that someone connected with prosecution of the patent withheld relevant information from the United States Patent and Trademark Office (“USPTO”) or made a misleading statement during prosecution. Third parties may also raise similar claims before the USPTO, even outside the context of enforcement litigation. The outcome following legal assertions of invalidity and unenforceability is unpredictable, and prior art could render our patents or those of our licensors invalid. If a defendant were to prevail on a legal assertion of invalidity and/or unenforceability, we would lose at least part, and perhaps all, of the patent protection on the respective technology, products or services. Such a loss of patent protection could have a material adverse impact on our business.
Even if resolved in our favor, litigation or other legal proceedings relating to our intellectual property rights may cause us to incur significant expenses and could distract our technical and management personnel from their normal responsibilities. In addition, there could be public announcements of the results of hearings, motions or other interim proceedings or developments and if securities analysts or investors perceive these results to be negative, it could have a substantial adverse effect on the price of our common stock. Such litigation or proceedings could substantially increase our expenses and reduce the resources available for operations and research and development activities. We may not have sufficient financial or other resources to conduct such litigation or proceedings adequately. Some of our competitors may be able to sustain the costs of such litigation or proceedings more effectively than we can because of their greater financial resources. Uncertainties resulting from the initiation and continuation of patent litigation or other proceedings could compromise our ability to compete in the marketplace. Furthermore, because of the substantial amount of discovery required in connection with U.S. intellectual property litigation, there is a risk that some of our confidential information could be compromised by disclosure during this type of litigation.
We may not be able to enforce our intellectual property rights throughout the world.
The laws of some foreign countries where we do business do not protect intellectual property rights to the same extent as the laws of the United States. Many companies have encountered significant problems in protecting and enforcing intellectual property rights in certain foreign jurisdictions. The legal systems of certain countries, particularly certain developing countries, do not favor the enforcement of patents and other intellectual property rights, particularly those relating to biotechnology technologies. Accordingly, our efforts to protect and enforce our intellectual property rights in such countries may be inadequate. This could make it difficult for us to stop the infringement, violation or misappropriation of our patents or other intellectual property rights. Additionally, proceedings to enforce our patent rights in foreign jurisdictions could result in substantial costs and divert our efforts and attention from other aspects of our business.
If our biocatalysts, or the genes that code for our biocatalysts, are stolen, misappropriated or reverse engineered, others could use these biocatalysts or genes to produce competing products.
Third parties, including our contract manufacturers, customers and those involved in shipping our biocatalysts, often have custody or control of our biocatalysts. If our biocatalysts, or the genes that code for our biocatalysts, were stolen, misappropriated or reverse engineered, they could be used by other parties who may be able to reproduce these biocatalysts for their own commercial gain. If this were to occur, it may be difficult for us to challenge this type of use, especially in countries with limited intellectual property rights protection or in countries in which we do not have patents covering the misappropriated biocatalysts.
59


Confidentiality and non-use agreements with employees, consultants, advisors and other third parties may not adequately prevent disclosures and non-use of trade secrets and other proprietary information.
In addition to patent protection, we also rely on other intellectual property rights, including protection of copyright, trade secrets, know-how and/or other proprietary information that is not patentable or that we elect not to patent. However, trade secrets can be difficult to protect, and some courts are less willing or unwilling to protect trade secrets. To maintain the confidentiality of our trade secrets and proprietary information, we rely in part on trade secret law and contractual agreements to protect our confidential and proprietary information and processes. We generally enter into confidentiality and invention assignment agreements with our employees, consultants and third parties working on our behalf upon their commencement of a relationship with us. However, trade secrets and confidential information are difficult to protect and we cannot guarantee that we have entered into such agreements with each party that may have or have had access to our trade secrets or proprietary technology and processes and we may not enter into such agreements with all employees, consultants and third parties who have been involved in the development of our intellectual property rights. Nevertheless, without our permission or awareness, our confidential and proprietary information may be disclosed to third parties, used by the respective individuals for purposes other than for the Company’s business, or obtained through illegal means, such that third parties could reverse engineer our biocatalysts, enzyme products and processes, to attempt to develop the same technology or develop substantially equivalent technology.
Costly and time-consuming litigation could be necessary to enforce and determine the scope of our confidential and proprietary rights, and failure to protect our trade secrets could adversely affect our competitive business position. If any of our trade secrets were lawfully obtained, we may be unable to prevent them, or those to whom they communicate it, from using that technology or information to compete with us or disclosing it publicly. Therefore, these events could have a material adverse effect on our business, financial condition and results of operations. In particular, a failure to protect our proprietary rights may allow competitors to copy our technology, which could adversely affect our pricing and market share.
In addition to contractual measures, we try to protect the confidential nature of our proprietary information by maintaining physical security of our premises and electronic security of our information technology systems. Such security measures may not, for example, in the case of misappropriation of a trade secret by an employee, consultant or other third party with authorized access or with unauthorized access but an intent to steal, provide adequate protection for our proprietary information. Our security measures may not prevent such employee, consultant or other third party from misappropriating our trade secrets and using them or providing them to a competitor, and recourse we take against such misconduct may not provide an adequate remedy to protect our interests fully. While we use commonly accepted security measures, trade secret violations are often a matter of state law in the United States, and the criteria for protection of trade secrets can vary among different jurisdictions. If the steps we have taken to maintain our trade secrets are deemed inadequate, we may have insufficient recourse against third parties for misappropriating the trade secret.
Risks Related to Owning our Common Stock
We are subject to anti-takeover provisions in our certificate of incorporation and bylaws and under Delaware law that could delay or prevent an acquisition of our company, even if the acquisition would be beneficial to our stockholders.
Provisions in our amended and restated certificate of incorporation and our bylaws may delay or prevent an acquisition of us. Among other things, our amended and restated certificate of incorporation and bylaws provide for a board of directors which is divided into three classes, with staggered three-year terms and provide that all stockholder action must be effected at a duly called meeting of the stockholders and not by a consent in writing, and further provide that only our board of directors, the chairman of the board of directors, our chief executive officer or president may call a special meeting of the stockholders. In addition, our amended and restated certificate of incorporation allows our board of directors, without further action by our stockholders, to issue up to 5,000,000 shares of preferred stock in one or more series and to fix the rights, preferences, privileges and restrictions thereof. These provisions may also frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors, who are responsible for appointing the members of our management team. Furthermore, because we are incorporated in Delaware, we are governed by the provisions of Section 203 of the Delaware General Corporation Law (“DGCL”)which prohibits, with some exceptions, stockholders owning in excess of 15% of our outstanding voting stock from merging or combining with us. Finally, our charter documents establish advanced notice requirements for nominations for election to our board of directors and for proposing matters that can be acted upon at stockholder meetings. Although we believe these provisions together provide for an opportunity to receive higher bids by requiring potential acquirers to negotiate with our board of directors, they would apply even if an offer to acquire our company may be considered beneficial by some stockholders.
60


Our bylaws designate a state or federal court located within the State of Delaware as the sole and exclusive forum for substantially all disputes between us and our stockholders, which could limit our stockholders' ability to obtain a favorable judicial forum for disputes with us our current or former directors, officers, stockholders, or other employees.

Our bylaws provide that, unless we consent in writing to the selection of an alternative forum, the Court of Chancery of the State of Delaware shall be the sole and exclusive forum for (i) any derivative action or proceeding brought on behalf of us under Delaware law, (ii) any action asserting a claim of breach of a fiduciary duty owed by any current or former director, officer, or other employee of the Company to us or our stockholders, (iii) any action asserting a claim against us or any of our directors, officers, or other employees arising pursuant to any provision of the DGCL or our certificate of incorporation or bylaws (as either may be amended from time to time), (iv) any action asserting a claim against us governed by the internal affairs doctrine, or (v) any other action asserting an “internal corporate claim,” as defined under Section 115 of the DGCL. The forgoing provisions do not apply to any claims arising under the Securities Act and, unless we consent in writing to the selection of an alternative forum, the federal district courts of the United States will be the sole and exclusive forum for resolving any action asserting a claim arising under the Securities Act.

These choice of forum provisions may limit a stockholder’s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or any of our current or former directors, officers, or other employees, which may discourage lawsuits with respect to such claims. There is uncertainty as to whether a court would enforce such provisions, and the enforceability of similar choice of forum provisions in other companies’ charter documents has been challenged in legal proceedings. It is possible that a court could find these types of provisions to be inapplicable or unenforceable, and if a court were to find the choice of forum provision to be inapplicable or unenforceable in an action, we may incur additional costs associated with resolving such action in other jurisdictions, which could harm our business, results of operations or financial condition.
Our quarterly or annual operating results may fluctuate in the future. As a result, we may fail to meet or exceed the expectations of research analysts or investors, which could cause our stock price to decline.
Our financial condition and operating results have varied significantly in the past and may continue to fluctuate from quarter to quarter and year to year in the future due to a variety of factors, many of which are beyond our control. Factors relating to our business that may contribute to these fluctuations include the following factors, as well as other factors described elsewhere in this report:
our ability to achieve or maintain profitability;
our dependence on a limited number of customers;
our product supply agreements with customers have finite duration, may not be extended or renewed and generally do not require the customer to purchase any particular quantity or quantities of our products;
with respect to customers purchasing our products for the manufacture of active pharmaceutical ingredients for which they have exclusivity due to patent protection, the termination or expiration of such patent protection and any resulting generic competition may materially and adversely affect our revenues, financial condition or results of operations;
our dependence on a limited number of products in our performance enzymes business;
our reliance on a limited number of contract manufacturers for large scale production of substantially all of our enzyme products;
our relationships with, and dependence on, collaborators in our principal markets;
our ability to successfully and timely develop and commercialize new products, including our ECO Synthesis Platform, for the markets we serve;
potential of GSK, Merck, Novartis or any other performance enzyme customer terminating their agreements with us;
the success of our customers’ products in the market and the ability of such customers to obtain regulatory approvals for products and processes;
our ability to deploy our technology platform in life science tools markets;
our dependence on our collaborators or customers’ product candidates which could unexpectedly fail at any stage of preclinical or clinical development;
61


our dependence on our collaborators or customers’ product candidates which may lack the ability to work as intended or cause undesirable side effects;
our ability to successfully prosecute and protect our intellectual property;
our ability to compete if we do not adequately protect our proprietary technologies or if we lose some of our intellectual property rights;
our ability to avoid infringing the intellectual property rights of third parties;
our involvement in lawsuits to protect or enforce our patents or other intellectual property rights;
our ability to enforce our intellectual property rights throughout the world;
our dependence on, and the need to attract and retain, key management and other personnel;
our ability to prevent the theft or misappropriation of our biocatalysts, the genes that code for our biocatalysts, know-how or technologies;
our ability to protect our trade secrets and other proprietary information from disclosure by employees and others;
our ability to obtain substantial additional capital that may be necessary to expand our business;
our ability to comply with the terms of our credit facility;
our ability to timely pay debt service obligations;
our customers’ ability to pay amounts owed to us in a timely manner;
our ability to avoid charges to earnings as a result of any impairment of goodwill, intangible assets or other long-lived assets;
changes in financial accounting standards or practices may cause adverse, unexpected financial reporting fluctuations and affect our reported results of operations;
our ability to maintain effective internal control over financial reporting;
our dependency on information technology systems, infrastructure and data;
our ability to control and to improve product gross margins;
our ability to protect against risks associated with the international aspects of our business;
the cost of compliance with EU chemical regulations;
potential advantages that our competitors and potential competitors may have in securing funding or developing products;
our ability to accurately report our financial results in a timely manner;
results of regulatory tax examinations;
market and economic conditions may negatively impact our business, financial condition, and share price;
business interruptions due to natural disasters, disease outbreaks or other events beyond our control;
public concerns about the ethical, legal and social ramifications of genetically engineered products and processes;
our ability to integrate our current business with any businesses that we may acquire in the future;
our ability to properly handle and dispose of hazardous materials in our business;
potential product liability claims;
changes to tax law and related regulations could materially affect our tax obligations and effective tax rate; and
62


our ability to use our NOLs to offset future taxable income.
Due to the various factors mentioned above, and others, the results of any prior quarterly or annual periods should not be relied upon as indications of our future operating performance.
We do not intend to pay cash dividends for the foreseeable future.
We currently intend to retain our future earnings, if any, to finance the further development and expansion of our business and do not intend to pay cash dividends in the foreseeable future. Any future determination to pay dividends will be at the discretion of our board of directors and will depend on our financial condition, results of operations, capital requirements, restrictions contained in future agreements and financing instruments, business prospects and such other factors as our board of directors deems relevant.
General Risk Factors
If securities or industry analysts do not publish research or reports about our business, or publish negative reports about our business, our stock price and trading volume could decline.
The trading market for our common stock will be influenced by the research and reports that securities or industry analysts publish about us or our business. We do not have any control over these analysts. If one or more of the analysts who cover us downgrade our stock or change their opinion of our stock in a negative manner, our stock price would likely decline. If one or more of these analysts cease coverage of our company or fail to regularly publish reports on us, we could lose visibility in the financial markets, which could cause our stock price or trading volume to decline.
We face risks associated with our international business.
While we have a limited number of employees located outside of the United States, we are and will continue to be dependent upon contract manufacturers located outside of the United States. In addition, we have customers and partners located outside of the United States. Conducting business internationally exposes us to a variety of risks, including:
changes in or interpretations of U.S. or foreign laws or regulations that may adversely affect our ability to sell our products, repatriate profits to the United States or operate our foreign-located facilities;
the imposition of tariffs;
the imposition of limitations on, or increase of, withholding and other taxes on remittances and other payments by foreign subsidiaries or joint ventures;
the imposition of limitations on genetically-engineered or other products or processes and the production or sale of those products or processes in foreign countries;
currency exchange rate fluctuations;
uncertainties relating to foreign laws, regulations and legal proceedings including pharmaceutical, tax, import/export, anti-corruption and exchange control laws;
the availability of government subsidies or other incentives that benefit competitors in their local markets that are not available to us;
increased demands on our limited resources created by our operations may constrain the capabilities of our administrative and operational resources and restrict our ability to attract, train, manage and retain qualified management, technicians, scientists and other personnel;
economic or political instability in foreign countries;
difficulties associated with staffing and managing foreign operations; and
the need to comply with a variety of United States and foreign laws applicable to the conduct of international business, including import and export control laws and anti-corruption laws.
63


Market and economic conditions may negatively impact our business, financial condition, and share price.
Concerns about inflation, energy costs, geopolitical issues, the United States mortgage market and a declining real estate market, unstable global credit markets and financial conditions, and volatile oil prices have led to periods of significant economic instability, diminished liquidity and credit availability, declines in consumer confidence and discretionary spending, diminished expectations for the global economy and expectations of slower global economic growth going forward, increased unemployment rates, and increased credit defaults in recent years. Our general business strategy may be adversely affected by any such economic downturns, volatile business environments and continued unstable or unpredictable economic and market conditions. Recently, the closures of Silicon Valley Bank (“SVB”) and Signature Bank (“Signature”) and their placement into receivership with the Federal Deposit Insurance Corporation, and the government-brokered sale of the deposits and majority of assets of First Republic Bank to JPMorgan Chase, created bank-specific and broader financial institution liquidity risk and concerns. Although government intervention ensured that depositors at these banks have access to their funds, future adverse developments with respect to specific financial institutions or the broader financial services industry may lead to market-wide liquidity shortages, impair the ability of companies to access near-term working capital needs, and create additional market and economic uncertainty. There can be no assurance that future credit and financial market instability and a deterioration in confidence in economic conditions will not occur, and we cannot predict the impact or follow-on effects of these insolvencies more broadly or on our business in particular. Further, we cannot guarantee that the government will intervene to provide depositors with access to funds if similar events occur in the future. If other banks and financial institutions enter receivership or become insolvent in the future, our ability to access our existing cash, cash equivalents, and investments may be threatened, which could have a material adverse effect on our business and financial condition. In addition, if the market and economic conditions described above continue to deteriorate or do not improve, it may make any necessary debt or equity financing more difficult to complete, more costly, and more dilutive. Failure to secure any necessary financing in a timely manner and on favorable terms could have a material adverse effect on our growth strategy, financial performance, and stock price. Additionally, rising rates of inflation have increased the costs associated with conducting our business, including by causing substantial increases in the costs of materials, including raw materials and consumables, equipment, services, and labor. Moreover, given the unpredictable nature of the current economic climate, including future changes in rates of inflation, it may be increasingly difficult for us to predict and control our future expenses, which may harm our ability to conduct our business.
Business interruptions resulting from disasters or other disturbances could delay us in the process of developing our products and could disrupt our sales. Our business continuity and disaster recovery plans may not adequately protect us from a serious disaster or other disturbance.
Our headquarters and other facilities are located in the San Francisco Bay Area, which in the past has experienced both severe earthquakes and wildfires. Earthquakes, wildfires or other natural disasters could severely disrupt our operations, and have a material adverse effect on our business, results of operations, financial condition and prospects. We are also vulnerable to other types of disasters and other events that could disrupt our operations, such as riot, civil disturbances, war, terrorist acts, public health emergencies, domestic or foreign conflicts, infections in our laboratory or production facilities or those of our customers or contract manufacturers and other events beyond our control. If a natural disaster or other event occurred that prevented us from using all or a significant portion of our headquarters, that damaged critical infrastructure, such as our enterprise financial systems or manufacturing resource planning and enterprise quality systems, or that otherwise disrupted operations, it may be difficult or, in certain cases, impossible, for us to continue our business for a substantial period of time. The disaster recovery and business continuity plans we have in place currently are limited and are unlikely to prove adequate in the event of a serious disaster or similar event. We may incur substantial expenses as a result of the limited nature of our disaster recovery and business continuity plans. We do not carry insurance for earthquakes and we may not carry sufficient business interruption insurance to compensate us for losses that may occur. Any losses or damages we incur could have a material adverse effect on our cash flows and success as an overall business.
64


We are dependent on information technology systems, infrastructure and data, and any failure of these systems could harm our business. Security breaches, loss of data and other disruptions could compromise sensitive information related to our business or prevent us from accessing critical information and expose us to liability, which could adversely affect our business, results of operations and financial condition.
Information technology helps us operate efficiently, interface with customers, maintain financial accuracy and efficiency and accurately produce our financial statements. If we do not allocate and effectively manage the resources necessary to build and sustain the proper technology infrastructure, we could be subject to transaction errors, processing inefficiencies, the loss of customers, business disruptions or the loss of or damage to intellectual property through security breach. If our information technology systems do not effectively collect, store, process and report relevant data for the operation of our business, whether due to equipment malfunction or constraints, software deficiencies, or human error, our ability to effectively plan, forecast and execute our business plan and comply with applicable laws and regulations will be impaired, perhaps materially. Our information technology systems and those of our external vendors, strategic partners and other contractors or consultants are vulnerable to attack and damage or interruption from computer viruses and malware (e.g. ransomware), malicious code, natural disasters, terrorism, war, telecommunication and electrical failures, hacking, cyberattacks, phishing attacks and other social engineering schemes, employee theft or misuse, human error, fraud, denial or degradation of service attacks, sophisticated nation-state and nation-state-supported actors or unauthorized access or use by persons inside our organization, or persons with access to systems inside our organization. Any such impairment could materially and adversely affect our financial condition, results of operations, cash flows and the timeliness with which we report our internal and external operating results.
Our business may require us to use and store personal information of our customers, employees, and business partners. This may include names, addresses, phone numbers, email addresses, contact preferences, tax identification numbers and payment account information. We require usernames and passwords in order to access our information technology systems. We also use encryption and authentication technologies to secure the transmission and storage of data. However, these security measures may be compromised as a result of security breaches by unauthorized persons, employee error, malfeasance, faulty password management or other irregularity, and result in persons obtaining unauthorized access to our data or accounts. Third parties may attempt to fraudulently induce employees or customers into disclosing usernames, passwords or other sensitive information, which may in turn be used to access our information technology systems. For example, our employees have received “phishing” emails and phone calls attempting to induce them to divulge passwords and other sensitive information.
In addition, unauthorized persons may attempt to hack into our products or systems to obtain personal data relating to employees and other individuals, our confidential or proprietary information or confidential information we hold on behalf of third parties. We also rely on external vendors to supply and/or support certain aspects of our information technology systems. The systems of these external vendors may contain defects in design or manufacture or other problems that could unexpectedly compromise information security of our own systems, and we are dependent on these third parties to deploy appropriate security programs to protect their systems. If we or our third-party vendors were to experience a significant cybersecurity breach of our or their information systems or data, the costs associated with the investigation, remediation and potential notification of the breach to counterparties and data subjects could be material. Our remediation efforts may not be successful. Further, if such an event were to occur and cause interruptions in our operations, it could result in a material disruption of our development programs and our business operations, whether due to a loss, corruption or unauthorized disclosure of our trade secrets, personal information or other proprietary or sensitive information or other similar disruptions. Attacks upon information technology systems are also increasing in their frequency, levels of persistence, sophistication and intensity, and are being conducted by sophisticated and organized groups and individuals with a wide range of motives and expertise. As a result of the remote work policies we initiated in response to the COVID-19 pandemic, and our continued hybrid working environment, we may also face increased cybersecurity risks due to our reliance on internet technology and the number of our employees who are working remotely, which may create additional opportunities for cybercriminals to exploit vulnerabilities. We have programs in place to detect, contain and respond to data security incidents, and we make ongoing improvements to our information-sharing products in order to minimize vulnerabilities, in accordance with industry and regulatory standards. However, because the techniques used to obtain unauthorized access to or sabotage systems change frequently and may be difficult to detect, we may not be able to anticipate and prevent these intrusions or mitigate them when and if they occur. Even if identified, we may be unable to adequately investigate or remediate incidents or breaches due to attackers increasingly using tools and techniques that are designed to circumvent controls, to avoid detection and to remove or obfuscate forensic evidence.
65


We and certain of our external vendors are from time to time subject to cyberattacks and security incidents. While we do not believe that we have experienced any significant system failure, accident, or security breach to date, if such an event were to occur, it could result in the unauthorized access to or unauthorized use, disclosure, release or other processing of personal information, it may be necessary to notify individuals, governmental authorities, supervisory bodies, the media and other parties pursuant to privacy and security laws. Any security compromise affecting us, our service providers, vendors, strategic partners, other contractors, consultants or our industry, whether real or perceived, could harm our reputation, erode confidence in the effectiveness of our security measures and lead to regulatory scrutiny. To the extent that any disruption or security breach were to result in a loss of, or damage to, our data or systems, or inappropriate disclosure of confidential or proprietary or personal information, we could incur liability, including litigation exposure, penalties and fines, we could become the subject of regulatory action or investigation, our competitive position could be harmed and the further development of our products could be delayed. If such an event were to occur and cause interruptions in our operations, it could result in a material disruption of our business. Furthermore, federal, state and international laws and regulations can expose us to enforcement actions and investigations by regulatory authorities, and potentially result in regulatory penalties, fines and significant legal liability, if our information technology security efforts fail. We may also be exposed to a risk of loss or litigation and potential liability, which could materially and adversely affect our business, results of operations and financial condition.
Actual or perceived failures to comply with applicable data protection, privacy and security laws, regulations, standards and other requirements could adversely affect our business, results of operations and financial condition.
The global data protection landscape is rapidly evolving, and we are or may become subject to state, federal and foreign laws, regulations, decisions and directives governing the privacy, security, collection, storage, transmission, use, processing, retention and disclosure of personal information. Any failure or perceived failure by us to comply with applicable laws or regulations, our internal policies and procedures or our contracts governing our processing of personal information could result in negative publicity, government investigations and enforcement actions, claims by third parties and damage to our reputation, any of which could have a material adverse effect on our operations, financial performance and business.
In the United States, HIPAA imposes, among other things, certain standards relating to the privacy, security, transmission and breach reporting of certain individually identifiable health information. Certain states have also adopted and continue to adopt new privacy and security laws and regulations, which govern the privacy, processing and protection of health-related and other personal information. Such laws and regulations will be subject to interpretation by various courts and other governmental authorities, thus creating potentially complex compliance issues for us and our future customers and strategic partners. For example, the California Consumer Privacy Act (“CCPA”) went into effect on January 1, 2020. The CCPA creates individual privacy rights for California consumers and increases the privacy and security obligations of entities handling certain personal information. The CCPA also provides for civil penalties for violations, as well as a private right of action for data breaches (which has increased the likelihood of, and risks associated with, data breach litigation). Further, the California Privacy Rights Act (“CPRA”) significantly amended the CCPA, which went into effect in January 2023. It imposes additional data privacy obligations on covered businesses, including additional consumer rights processes, limitations on data uses, new audit requirements for higher risk data and opt outs for certain uses of sensitive data. It also created a new California privacy protection agency authorized to issue substantive regulations and could result in increased privacy and information security enforcement. Additional compliance investment and potential business process changes may also be required. Similar laws regulating personal information generally or health information in particular have passed in more than a dozen states and have been proposed in other states and at the federal level, reflecting a trend toward more stringent privacy legislation in the United States. These developments increase our compliance burden and our risk, including risks of regulatory fines, litigation and associated reputational harm. Any liability from failure to comply with the requirements of these laws could adversely affect our financial condition.
Furthermore, the Federal Trade Commission (“FTC”) and many state Attorneys General continue to enforce federal and state consumer protection laws against companies for online collection, use, dissemination and security practices that appear to be unfair or deceptive. For example, according to the FTC, failing to take appropriate steps to keep consumers’ personal information secure can constitute unfair acts or practices in or affecting commerce in violation of Section 5(a) of the Federal Trade Commission Act. The FTC expects a company’s data security measures to be reasonable and appropriate in light of the sensitivity and volume of consumer information it holds, the size and complexity of its business, and the cost of available tools to improve security and reduce vulnerabilities.
66


In Europe, the General Data Protection Regulation (“GDPR”) went into effect in May 2018 and imposes strict requirements for processing the personal data of individuals within the European Economic Area (“EEA”). The GDPR imposes stringent requirements for controllers and processors of personal data and provides that EEA member states may make their own additional laws and regulations limiting the processing of genetic, biometric or health data, which could limit our ability to use and share personal data or could cause our costs to increase and harm our business and financial condition. Failure to comply with the requirements of the GDPR can result in fines of up to the greater of €20 million or 4% of the total worldwide annual turnover of the preceding financial year and other administrative penalties. To the extent that we are required to comply with the GDPR, such compliance may be onerous and adversely affect our business, financial condition, and results of operations. Among other requirements, the GDPR regulates transfers of personal data subject to the GDPR to third countries that have not been found to provide adequate protection to such personal data, including the United States, and the efficacy and longevity of current transfer mechanisms between the EU and the United States remains uncertain. For example, in July 2020, the Court of Justice of the EU (“CJEU”) limited how organizations could lawfully transfer personal data from the EU/EEA to the United States by invalidating the Privacy Shield for purposes of international transfers and imposing further restrictions on the use of standard contractual clauses (“SCCs”). In July 2023, the European Commission approved an adequacy decision for the EU/U.S. Data Privacy Framework, intended to replace the Privacy Shield Program. The Data Privacy Framework currently is in effect for organizations that voluntarily choose to participate, but it is also subject to ongoing legal challenges. European court and regulatory decisions subsequent to the CJEU decision of July 2020 have taken a restrictive approach to international data transfers. As supervisory authorities issue further guidance on personal data export mechanisms, including circumstances where the SCCs cannot be used, and/or start taking enforcement action, we could suffer additional costs, complaints and/or regulatory investigations or fines, and/or if we are otherwise unable to transfer personal data between and among countries and regions in which we operate, it could affect the manner in which we provide our services, the geographical location or segregation of our relevant systems and operations, and could adversely affect our financial results.
Further, from January 1, 2021, companies have had to comply with the GDPR and also the United Kingdom GDPR (“UK GDPR”), which, together with the amended UK Data Protection Act 2018, retains the GDPR in UK national law. The UK GDPR mirrors the fines under the GDPR, i.e., fines up to the greater of €20 million (or up to £17.5 million for UK) or 4% of global turnover. As we continue to expand into other foreign countries and jurisdictions, we may be subject to additional laws and regulations that may affect how we conduct business.
Although we work to comply with applicable laws, regulations and standards, our contractual obligations and other legal obligations, these requirements are evolving and may be modified, interpreted and applied in an inconsistent manner from one jurisdiction to another, and may conflict with one another or other legal obligations with which we must comply. Various federal, state and foreign legislative or regulatory bodies may enact new or additional laws and regulations concerning privacy, data-retention and data-protection issues, including laws or regulations mandating disclosure to domestic or international law enforcement bodies, which could adversely impact our business or our reputation with customers. For example, some countries have adopted laws mandating that certain personal information regarding customers in their country be maintained solely in their country. Having to maintain local data centers and redesign product, service and business operations to limit processing of personal information to within individual countries could increase our operating costs significantly. Any failure, or perceived failure, by us to comply with federal, state or international privacy, data-retention or data-protection-related laws, regulations, orders or industry self-regulatory principles could result in proceedings or actions against us by governmental entities or others, a loss of customer confidence, damage to our brand and reputation and a loss of customers, any of which could have an adverse effect on our business.
Evolving expectations around corporate responsibility practices, specifically related to environmental, social and governance (“ESG”) matters, may expose us to reputational and other risks.
Investors, stockholders, customers, suppliers and other third parties are increasingly focusing on ESG and corporate social responsibility endeavors and reporting. Companies that do not adapt to or comply with the evolving investor or stakeholder expectations and standards, or that are perceived to have not responded appropriately, may suffer from reputational damage, which could result in the business, financial condition and/or stock price of a company being materially and adversely affected. For example, certain customers have inquired about our ESG practices and may impose ESG guidelines, mandates or reporting requirements for, and may scrutinize relationships more closely with, their suppliers, including us, which may legthen sales cycles, increase our costs or impair our ability to attract and retain customers. Further, this increased focus on ESG issues may result in new regulations and/or third-party requirements that could adversely impact our business, or certain shareholders reducing or eliminating their holdings of our stock. Additionally, an allegation or perception that we have not taken sufficient action in these areas could negatively harm our reputation.

67


ITEM 2.UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
None.
ITEM 3.DEFAULTS UPON SENIOR SECURITIES
None.
ITEM 4.MINE SAFETY DISCLOSURES
Not applicable.
ITEM 5.OTHER INFORMATION
During the three months ended September 30, 2023, none of the directors or executive officers of the Company adopted or terminated any contracts, instructions, or written plans for the purchase or sale of our securities that were intended to meet the affirmative defense conditions of Rule 10b5-1(c) or any other “non-Rule 10b5-1 trading arrangement.”
68


ITEM 6.EXHIBITS
3.1
3.2
3.3
3.4
4.1Reference is made to Exhibits 3.1 through 3.4.
10.1
*
10.2
*
31.1
31.2
32.1
101 
The following materials from the Company's Quarterly Report on Form 10-Q for the quarter ended September 30, 2023, formatted in Inline Extensible Business Reporting Language ("iXBRL") includes: (i) Unaudited Condensed Consolidated Balance Sheets at September 30, 2023 and December 31, 2022 (ii) Unaudited Condensed Consolidated Statements of Operations for the Three and Nine Months Ended September 30, 2023 and 2022, (iii) Unaudited Condensed Consolidated Statements of Stockholders' Equity for the Three and Nine Months Ended September 30, 2023 and 2022, (iv) Unaudited Condensed Consolidated Statements of Cash Flows for the Nine Months Ended September 30, 2023 and 2022 and (v) Notes to Unaudited Condensed Consolidated Financial Statements.
101.SCHInline XBRL Taxonomy Extension Schema Document
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document
101.LABInline XBRL Taxonomy Extension Label Linkbase Document
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document
104
The cover page from the Company’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2023, formatted in Inline XBRL and contained in Exhibit 101.
*
The schedules and exhibits to this agreement have been omitted pursuant to Item 601(a)(5) of Regulation S-K. A copy of any omitted schedule and/or exhibit will be furnished to the SEC upon request,
69


SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.
Codexis, Inc.
Date:November 3, 2023By:/s/ Stephen Dilly
Stephen Dilly
President and Chief Executive Officer
(principal executive officer)
Date:November 3, 2023By:/s/ Sriram Ryali
Sriram Ryali
Chief Financial Officer
(principal financial and accounting officer)

70
EX-10.1 2 codexis-ex101codexis_vaxcy.htm EX-10.1 Document

ASSIGNMENT AND ASSUMPTION OF LEASE
This ASSIGNMENT AND ASSUMPTION OF LEASE (this “Assignment”) is executed as of September 1, 2023 by and between CODEXIS, INC, a Delaware corporation (“Assignor”) and VAXCYTE, INC., a Delaware corporation (“Assignee”).
RECITALS
The parties enter into this Assignment on the basis of the following facts, understandings, and intentions:
A.Assignor and ARE San Francisco No. 63, LLC, a Delaware limited liability company (“Landlord”), are parties to that certain Lease Agreement dated as of January 29, 2021 (the “Lease”, a copy of which is attached as Exhibit A) covering certain premises located at 825 Industrial Road, San Carlos, California (the “Building”) containing approximately 36,593 rentable square feet consisting of (i) Suite 100A located on the ground floor of the Building, containing approximately 18,817 rentable square feet and (ii) Suite 200B located on the second floor of the Building, containing approximately 17,776 rentable square feet (the “Premises”).
B.Subject to the terms of this Assignment, Assignor desires to assign to Assignee all of Assignor’s right, title, and interest as “Tenant” under the Lease from and after the Effective Date, and Assignee desires to assume all of Assignor’s obligations as “Tenant” under the Lease from and after the Effective Date.
NOW THEREFORE, in consideration of the foregoing Recitals and the mutual covenants and conditions contained herein, the parties hereby agree as follows:
1.Assignment: Assignor hereby assigns, transfers and conveys to Assignee, and Assignee hereby accepts, as of the Effective Date, all of Assignor’s right, title and interest in, under and to the Lease and the Premises. Also effective as of the Effective Date, Assignee accepts this assignment and assumes and agrees to keep, perform and fulfill, as a direct obligation to Landlord and for the benefit of Assignor, all of the terms, covenants, conditions and obligations required to be kept, performed and fulfilled by the “Tenant” under the Lease from and after the Effective Date, including, without limitation, the making of all payments due to, or payable on behalf of, Landlord under the Lease which may become due and payable on or after the Effective Date, but excluding the Base Rent Abatement (as defined in Section 6 below) and the Remaining TI Rent (as defined in Section 7 below). Subject to the last sentence of Section 4 below, Assignee shall not be responsible for claims by Landlord for indemnification under the indemnity clauses under the Lease with respect to occurrences taking place prior to the Effective Date.
2.Reconciliations and Prepaid Rents: To the extent there is any reconciliation of Operating Expenses with respect to any period prior to the Effective Date, Assignor and Assignee agree to equitably make adjustments as of the Effective Date, and Assignee shall provide the requisite back-up documentation for all such Operating Expenses for the parties to make the equitable adjustments. Assignee and Assignor, as the case may be, each agrees to make payment of any amounts owed within thirty (30) days following such reconciliation. In addition, if the Effective Date is a date other than the first day of the month, any Rent paid by Assignor under the Lease allocable to the portion of such month from and after the Effective Date shall be applied towards Assignor’s obligation under this Assignment to pay the Base Rent Abatement.
3.Effective Date and Delivery. The “Effective Date” shall be the earlier of (a) the date by which Assignee occupies the Premises for the operation of business (provided that the exercise of Assignee’s early access rights pursuant to Section 4 below shall not be deemed the commencement of operation of business at the Premises by Assignee) or (b) the date by which (i) Assignor delivers the Premises to Assignee broom clean and Fully Decommissioned (as hereinafter defined) with respect to Assignor’s lab operations, (ii) the Consent (as hereinafter defined) has been obtained, (iii) the outstanding principal balance of the Remaining TI Rent has been paid pursuant to Section 7 below, and (iv) the Agilent Bravo96 has been removed pursuant to Section 13 below. “Fully Decommissioned” shall mean (x) the decommissioning of the Premises with respect to Assignor’s lab operations as required by the local
1



jurisdiction as evidenced by either (A) a closure or sign-off letter with respect thereto (or equivalent documentation evidencing that the local jurisdiction is satisfied with its decommissioning inspection, with no reservations, additional work or any follow-up required) or (B) an email from the local jurisdiction stating that Assignor passed its decommissioning inspection, with no reservations, additional work or any follow-up required (in the event this decommissioning requirement is satisfied through such an email, Assignor shall promptly provide to Assignee a copy of the formal letter if and when received), and (y)Assignor’s completion of the Decommissioning and HazMat Closure Plan approved by Landlord. Assignor shall promptly forward to Assignee a copy of the closure letter that it receives from the local jurisdiction regarding the decommissioning of the Premises. The target Effective Date shall be October 1, 2023. This Assignment shall not be void or voidable, nor shall Assignor be liable to Assignee for any loss or damage, by reason of delays in the Effective Date or delays in Assignor delivering the Premises to Assignee for any reason whatsoever; provided, however, (a) in the event the Effective Date shall not have occurred on or before December 1, 2023 (the “Penalty Delivery Deadline Date”), then the Base Rent Abatement shall be increased by one (1) day for each day of delay in the Effective Date beyond the Penalty Delivery Deadline Date, and (b) in the event the Effective Date shall not have occurred on or before January 1, 2024 (the “Termination Delivery Deadline Date”, and collectively with the Penalty Delivery Deadline Date, the “Deadline Delivery Dates”), then Assignee shall have the right to terminate the Assignment, without any penalties or liability to Assignor, by written notice to Assignor prior to the occurrence of the Effective Date, in which event neither Assignor nor Assignee shall have any further obligation to each other under this Agreement, except for the obligations of Assignee in the last sentence of Section 4, and except that Assignee shall promptly remove any items that may have been installed by Assignee pursuant to Section 4 below and repair any damaged caused by such removal and shall be afforded a reasonable opportunity to do so; provided, however, Assignee shall exercise its termination right hereunder no later than ten (10) days following Assignee's receipt of written notice from Assignor (if given, at Assignor’s option) in which Assignor acknowledges that the Termination Delivery Deadline Date has passed and the Effective Date has not occurred and that Assignee has the right under this Paragraph to terminate this Lease. The foregoing Delivery Deadline Dates shall be extended to the extent of any delays in the Effective Date caused by Force Majeure (as defined in Section 34 of the Lease), provided that governmental and inspection related delays shall not be considered events of Force Majeure for such purposes. Within ten (10) days of request by either Assignor or Assignee following the Effective Date, Assignor and Assignee shall acknowledge the actual Effective Date by executing an Assignment Effective Date Memorandum in the form attached hereto as Exhibit B. For the avoidance of doubt, the Premises shall be deemed delivered when the Consent has been obtained and Assignor has vacated the Premises, has Fully Decommissioned the same with respect to Assignor’s lab operations and provides Assignee keys or other means of access thereto.
4.Early Access. Assignor shall provide Assignee access to the portion of the Premises on the first floor (i.e., the office portions) thirty (30) days prior to the Effective Date free of any monetary obligation, for the purpose of allowing Assignee to install furniture, fixtures and equipment and IT infrastructure; provided that prior to such access, Assignee has delivered to Assignor evidence of all insurance required of “Tenant” under the Lease. With respect to such period of early access, Assignee shall include Assignor as an additional insured under its liability insurance policy. Except to the extent resulting from the negligence or willful misconduct of Assignor or its employees, contractors or agents, Assignee shall indemnify, protect, defend and hold Assignor harmless from and against all liability, penalties, losses, damages, costs, expenses, causes of action, claims and judgments arising from or in connection with any such early access and preparation of the Premises for occupancy.
5.Condition of Premises. Assignee acknowledges and agrees that it has inspected the Premises and is familiar with its condition. Assignee accepts the Premises in their present “AS IS” and “WITH ALL FAULTS” condition, subject to the terms of this Paragraph. Notwithstanding the foregoing, Assignor shall deliver the Premises to Assignee broom clean and Fully Decommissioned with respect to Assignor’s lab operations and with the Agilent Bravo96 removed. Assignee acknowledges and agrees that neither Assignor nor any of its respective agents or employees has made any warranties or representations concerning the Premises, including about the condition of the Premises and the suitability of its use by Assignee. Assignee further acknowledges and agrees that Assignor has no obligation to perform any work, supply any materials, incur any expense, make any alterations or improvements to the Premises or to provide Assignee with any construction or fit-out allowance.
2



6.Base Rent Reimbursement. The “Base Rent Abatement” shall mean the Base Rent under the Lease with respect to the three (3)-month period (the “Base Rent Abatement Period”) commencing on the Effective Date and ending on the day immediately preceding the date which is three (3) months after the Effective Date. For clarity, if the Effective Date occurs on October 5, 2023, the Base Rent Abatement shall consist of the Base Rent under the Lease with respect to the period commencing on October 5, 2023 and ending on January 4, 2024. Assignor shall be responsible for payment of the Base Rent Abatement in accordance with the Lease. Assignor shall prepay to Landlord the Base Rent Abatement on or before the Effective Date. In addition, in the event the Base Rent Abatement is increased pursuant to Section 3 above, Assignor shall pay such increased Base Rent Abatement directly to Landlord. Unless waived by Assignor and Assignee by their execution and delivery of the Consent, it is a condition to the effectiveness of this Assignment that Landlord consent in the Consent to the prepayment of the Base Rent Abatement by Assignor.
7.Remaining TI Rent. The “Remaining TI Rent” shall mean the TI Rent payable under Section 4(b) of the Lease incurred by Assignor in connection with the Additional Tenant Improvement Allowance previously funded by Landlord to Assignor. Payment of the Remaining TI Rent shall remain Assignor’s responsibility in accordance with Section 4(b) of the Lease. On or before the Effective Date and as a condition to the occurrence thereof, Assignor shall prepay the outstanding principal balance of the Remaining TI Rent as required to satisfy the obligation of “Tenant” under the Lease in connection therewith.
8.Indemnity. Assignor shall indemnify, protect and defend Assignee against and hold Assignee harmless from any and all losses, costs, damages, liabilities and expenses, including, without limitation, reasonable attorneys’ fees, incurred by Assignee as a result of any claim arising under the Lease with respect to an event or alleged default, negligence or willful misconduct of Assignor or its employees, agents, guests or invitees occurring on or before the Effective Date. Assignee shall indemnify, protect and defend Assignor against and hold Assignor harmless from any and all losses, costs, damages, liabilities and expenses, including, without limitation, reasonable attorneys’ fees, incurred by Assignor as a result of any claim arising under the Lease with respect to an event or alleged default, negligence or willful misconduct of Assignee or its employees, agents, guests or invitees occurring after the Effective Date.
9.No Options; No Modifications: Assignee agrees that it shall not: (a) exercise the Expansion Right under Section 39 of the Lease, the Extension Right under Section 40 of the Lease, or any other options to extend or renew the Term of the Lease or to expand the Premises, all of which options and rights Assignee hereby waives; (b) extend the Term of the Lease or expand the Premises; or (c) otherwise amend or modify the Lease in any manner that would increase Assignor’s liability thereunder; provided, however, Assignee may exercise the Extension Right pursuant to Section 40 of the Lease, so long as (i) Landlord consents to the assignment of such Extension Right pursuant to the Consent; and (ii) Landlord agrees that Assignor shall be released from all liability and obligations under the Lease during the Extension Term.
10.Furniture, Fixtures and Equipment. Assignor shall deliver with the Premises the furniture, fixtures and equipment identified on Exhibit C (the “Conveyed FF&E”), and shall, effective upon the Effective Date, quitclaim to Assignee without representation, warranty or recourse such Conveyed FF&E, and Assignee shall accept the Conveyed FF&E in its “AS IS” condition with all faults and defects and without warranty or representation. Assignee hereby disclaims any implied warranties of merchantability or fitness for any particular purpose with respect to the Conveyed FF&E. The transfer of ownership of the Conveyed FF&E shall occur automatically upon the Effective Date and this Assignment shall constitute a bill of sale evidencing the transfer of the same. All personal property of Assignor which is not part of the Conveyed FF&E shall be removed by Assignor prior to Assignor’s delivery of the Premises. For avoidance of doubt, the two bookshelves identified by Assignee and currently existing in the Premises shall not be part of the Conveyed FF&E and Assignor shall remove the same prior to the Effective Date.
11.Security Deposit. On or before the Effective Date, Assignee shall deliver to Landlord the Security Deposit in the amount of Two Hundred Twenty Thousand, Six Hundred Fifty-Five and 79/100 Dollars ($220,655.79), in the form of a letter of credit. Assignor and Assignee agree that the Security
3



Deposit and Letter of Credit deposited by Assignor under the Lease shall remain the property of Assignor, and Assignee shall have no interest therein. Unless waived by Assignor and Assignee by their execution and delivery of the Consent, it is a condition to the effectiveness of this Assignment that Landlord consent in the Consent to the reduction of the Security Deposit to such amount, as more particularly set forth in the Consent.
12.Existing Signage: Prior to delivery of the Premises, Assignor shall remove its existing signage at the Premises.
13.Equipment Sale. Assignor and Assignee are in discussions for the sale by Assignor and the purchase by Assignee of the equipment listed on Exhibit D (collectively, the “Sale Equipment”). Any such purchase and sale shall be made, if at all, pursuant to a separate agreement. Either party may terminate negotiations for such purchase and sale at any time for any reason or for no reason. If both parties in their sole discretion enter into such purchase and sale of the Sale Equipment, then Assignor shall leave the Sale Equipment in the Premises but shall otherwise remove any unpurchased Sale Equipment prior to delivery. For the avoidance of doubt, the Agilent Bravo96 shall not be included in the Sale Equipment, and Assignor shall remove the same prior to the Effective Date and as a condition to the occurrence thereof.
14.No Removal of Existing Improvements: Assignee shall not be responsible for removing or restoring any improvements present as of the Effective Date (except for wiring and cabling). Unless waived by Assignor and Assignee by their execution and delivery of the Consent, it is a condition to the effectiveness of this Assignment that Landlord confirm and agree in the Consent that neither Assignor nor Assignee shall be required to remove any improvements present as of the Effective Date.
15.Notices: Unless at least five (5) days' prior written notice is given in the manner set forth in this paragraph, the address of each party shall be that address set forth below their signatures at the end of this Assignment. All notices, demands or communications in connection with this Assignment shall be personally delivered or properly addressed and deposited in the mail (certified, return receipt requested, and postage prepaid) or via recognized overnight courier. Notices shall be deemed delivered (a) upon receipt, if personally delivered, (b) three (3) business days after mailing, if mailed as set forth above; or (c) one (1) business day after deposit with a recognized overnight courier as set forth above.
16.Landlord Consent. Notwithstanding anything to the contrary herein, this Assignment shall not be effective until Landlord has signed and delivered to Assignor and Assignee Landlord’s written consent to this Assignment (the “Consent”) pursuant to a consent in form and content mutually agreeable to Landlord, Assignor and Assignee, which form and content shall be deemed to be mutually agreeable upon Landlord’s, Assignor’s and Assignee’s execution and delivery of the Consent. In the event, for any reason whatsoever, the Consent is not delivered by Landlord within thirty (30) days after the execution of this Assignment by Assignor and Assignee, Assignor and Assignee each shall have the right, in its sole and absolute discretion, until such time as Landlord delivers the Consent, to terminate this Assignment by providing written notice to the other, in which case this Assignment shall automatically terminate and neither party shall owe any obligation to the other party. For avoidance of doubt, unless waived by Assignor and Assignee by their execution and delivery of the Consent, the Consent shall not be deemed given unless Landlord agrees, amongst other terms and conditions that (i) Landlord consents to the reduction of the Security Deposit; (ii) Landlord consents to the assignment of the right to exercise the Extension Right; (iii) Landlord agrees that Assignor shall be released from all liability and obligations under the Lease during the Extension Term; (iv) Landlord confirms and agrees in the Consent that neither Assignor nor Assignee shall be required to remove any improvements present as of the Effective Date; and (v) Landlord consents to the prepayment of the outstanding principal balance of the Remaining TI Rent.
17.Inspection by a CASp in Accordance with Civil Code Section 1938: To Assignor’s actual knowledge, the property being leased or rented pursuant to this Assignment has not undergone inspection by a Certified Access Specialist (CASp). In addition, the following notice is hereby provided pursuant to Section 1938(e) of the California Civil Code: “A Certified Access Specialist (CASp) can inspect the subject premises and determine whether the subject premises comply with all of the applicable construction-related accessibility standards under state law. Although state law does not require a CASp
4



inspection of the subject premises, the commercial property owner or lessor may not prohibit the lessee or tenant from obtaining a CASp inspection of the subject premises for the occupancy or potential occupancy of the lessee or tenant, if requested by the lessee or tenant. The parties shall mutually agree on the arrangements for the time and manner of the CASp inspection, the payment of the fee for the CASp inspection, and the cost of making any repairs necessary to correct violations of construction-related accessibility standards within the premises.” Assignor and Assignee agree that if Assignee requests a CASp inspection of the Premises, then Assignee (a) shall pay the fee for such inspection, and (b) shall pay the cost of making any repairs necessary to correct violations of construction-related accessibility standards within the Premises if and to the extent “Tenant” would be required to pay the same under the terms of the Lease (but in no event shall Assignor be responsible for paying the same).
18.Authority. Each party hereto represents and warrants that it has the full capacity, right, power and authority to execute, deliver and perform this Assignment, and all required actions, consents and approvals therefor have been duly taken and obtained. This Assignment shall be binding upon and inure to the benefit of the parties, their respective heirs, legal representatives, successors and assigns.
19.Brokers. Assignor shall be responsible for any and all broker commissions due and owing to Assignor’s broker, Jones Lang LaSalle Brokerage, Inc., and to Assignee’s broker, Jones Lang LaSalle Brokerage, Inc. (collectively, the “Brokers”), pursuant to a separate agreement. Assignor and Assignee each hereby agrees to protect, defend, indemnify and hold the other harmless from all claims, demands, causes of action, liabilities, losses, costs and expenses (including, without limitation, costs of suit and attorneys’ fees) arising from or in connection with claims for broker commissions due and owing from or related to this Assignment by any broker employed by or claiming to represent or to have been employed by the indemnifying party, other than the Brokers as described above.
20.Miscellaneous. Assignor and Assignee shall execute and deliver such additional documents and take such additional actions as either may reasonably request to carry out the purposes of this Assignment. This Assignment shall be binding upon and shall inure to the benefit of the parties hereto and their respective heirs, successors and assigns. If either party brings an action or legal proceeding with respect to this Assignment, the prevailing party shall be entitled to recover its reasonable attorneys’ fees and costs. All captions contained in this Assignment are for convenience of reference only and shall not affect the construction of this Assignment. This Assignment may be executed in one or more counterparts (including electronic counterparts such as by email with a pdf or similar attachment, and such electronic counterpart shall be deemed to have the same force and effect as an executed original), each of which shall be an original, but all of which, taken together, shall constitute one and the same Assignment. If any one or more of the provisions of this Assignment shall be invalid, illegal or unenforceable in any respect, the validity, legality and enforceability of the remaining provisions contained herein shall not in any way be affected or impaired thereby. This Assignment shall be governed by the laws of California without reference to conflicts of laws principles. All capitalized terms not otherwise defined in this Assignment shall have the meanings ascribed to them in the Lease.
21.Assignor’s Representations and Warranties. Assignor represents and warrants that (a) the Lease is in full force and effect, and there exists under the Lease no default beyond applicable notice and cure periods by either Assignor, or to Assignor’s knowledge, Landlord, nor, to Assignor’s knowledge, has there occurred any event which, with the giving of notice or passage of time or both, could constitute such a default, and (b) the copy of the Master Lease attached hereto as Exhibit A is a true, correct and complete copy of the Master Lease.
22.Hazardous Materials.
A.Assignor represents and warrants that to Assignor’s knowledge, (i) Assignor and its Tenant Parties (as defined in the Lease but excluding Assignee or Assignee’s agents, servants, employees, invitees and contractors) have not brought upon, kept, used, stored, handled, treated, generated in, or released or disposed from the Premises any Hazardous Materials in violation of any Environmental Requirements (as defined in the Lease) (an “Environmental Violation”); and (ii) all of Assignor’s Tenant HazMat Operations (as defined in the Lease) were performed in compliance with applicable Environmental Requirements. Without limiting the generality of Section 8 of this Assignment above, Assignor indemnifies and shall defend and hold Assignee, its officers, directors, employees, agents
5



and contractors harmless from any and all Environmental Claims (as defined in the Lease) which arise during or after the Term arising from an Environmental Violation by Assignor or any of its Tenant Parties (excluding Assignee or Assignee’s agents, servants, employees, invitees and contractors). This indemnification of Assignee by Assignor includes, without limitation, costs incurred in connection with any investigation of site conditions or any cleanup, treatment, remedial, removal, or restoration work required by any federal, state or local Governmental Authority (as defined in the Lease) because of Hazardous Materials present in the air, soil or ground water above, on, or under the Premises released by Assignor or any of its Tenant Parties (excluding Assignee or Assignee’s agents, servants, employees, invitees and contractors).
B.Without limiting the generality of Section 8 of this Assignment above, Assignee indemnifies and shall defend and hold Assignor, its officers, directors, employees, agents and contractors harmless from any and all Environmental Claims which arise during or after the Term arising from an Environmental Violation by Assignee or any of its Tenant Parties. This indemnification of Assignor by Assignee includes, without limitation, costs incurred in connection with any investigation of site conditions or any cleanup, treatment, remedial, removal, or restoration work required by any federal, state or local Governmental Authority because of Hazardous Materials present in the air, soil or ground water above, on, or under the Premises released by Assignee or any of its Tenant Parties.

[Signature page follows]

6



IN WITNESS WHEREOF, the parties hereto have executed this Assignment on the date first above written.

ASSIGNOR:        ASSIGNEE:

CODEXIS, INC.,        VACXYTE, INC.,
a Delaware corporation        a Delaware corporation

By:            By:                            

Print Name:        Print Name:                    

Title:                Title:                    

CODEXIS, INC.,
a Delaware corporation

By:        

Print Name:    

Title:            

Address:        Address:

200 Penobscot Drive        825 Industrial Road
Redwood City, CA 94063        Suite 300
Attention: Chief Operating Officer        San Carlos, CA 94070
            Attention: Chief Executive Officer
with a copy to:
            with a copy to:
200 Penobscot Drive        825 Industrial Road
Redwood City, CA 94063        Suite 300
Attention: General Counsel            San Carlos, CA 94070
                Attention: General Counsel

    








EXHIBIT A

LEASE

[*]




EXHIBIT B

ASSIGNMENT EFFECTIVE DATE MEMORANDUM

[*]





EXHIBIT C

CONVEYED FF&E

[*]





EXHIBIT D

SALE EQUIPMENT

[*]




EX-10.2 3 codexis-ex102landlordconse.htm EX-10.2 Document

CONSENT TO ASSIGNMENT
AND FIRST AMENDMENT
This Consent to Assignment and First Amendment (this “Consent”) is made as of September __, 2023, by ARE-SAN FRANCISCO NO. 63, LLC, a Delaware limited liability company (“Landlord”), to CODEXIS, INC., a Delaware corporation (“Tenant”), and VAXCYTE, INC., a Delaware corporation (“Assignee”), with reference to the following Recitals.
R E C I T A L S
A.    Landlord and Tenant are parties to that certain Lease Agreement dated January 29, 2021 (the “Lease”). Pursuant to the Lease, Tenant leases from Landlord certain premises containing approximately 36,593 rentable square feet, consisting of (i) Suite 100A containing approximately 18,817 rentable square feet, and (ii) Suite 200B containing approximately 17,776 rentable square feet (the “Premises”) in that certain building located at 825 Industrial Road, San Carlos, California (the “Building”). Capitalized terms not otherwise defined in this Consent shall have the meanings set forth in the Lease unless the context clearly indicates otherwise.
B.    Tenant desires to assign its interest in the Lease and the Premises demised thereunder, to Assignee, all as more particularly described in and pursuant to the provisions of that certain ASSIGNMENT AND ASSUMPTION OF LEASE dated as of September 1, 2023 (the “Assignment Agreement”), a copy of which is attached hereto as Exhibit A.
C.    Tenant and Assignee desire to obtain Landlord’s consent to the assignment of the Lease to Assignee (the “Assignment”) as contemplated in the Assignment Agreement.
D.     Tenant and Assignee have requested certain other modifications to the Lease, and Landlord desires to accommodate such request, subject to the terms and conditions set forth herein.
NOW, THEREFORE, in consideration of the foregoing and the agreements contained herein, and for other good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Landlord hereby consents to the Assignment and the amendments to the Lease contemplated herein; such consent being subject to and upon the following terms and conditions to which Tenant and Assignee hereby agree:
1.Consent to Assignment.
1.1.This Consent shall not be effective and the Assignment shall not be valid nor shall Assignee take possession of the Premises unless and until Landlord shall have received: (a) counterparts of this Consent executed by Tenant and Assignee, and (b) on or before the Effective Date (as defined in the Assignment Agreement)(the “Assignment Date”) Tenant shall deliver to Landlord the then full outstanding principal balance of TI Rent remaining unpaid under the Lease as of such date of payment. Tenant and Assignee represent and warrant to Landlord that the copy of the Assignment Agreement attached hereto as Exhibit A is true, correct and complete. Assignee shall deliver to Landlord an insurance certificate satisfying the requirements of the Lease prior to the earlier of: (x) Assignee accessing the Premises under the Assignment Agreement, or (y) the Assignment Date.
1.2.Landlord neither approves nor disapproves the terms, conditions and agreements contained in the Assignment Agreement, all of which shall be subordinate and at all times subject to all of the covenants, agreements, terms, provisions and conditions contained in the Lease and this Consent.
1.3.Nothing contained herein or in the Assignment Agreement shall be construed to modify, waive, impair, or affect any of the terms, covenants or conditions contained in the Lease (including Assignee’s obligation to obtain any required consents for any other or future assignments or sublettings), or to waive any breach thereof, or any rights or remedies of Landlord under the Lease against any person, firm, association or corporation liable for the performance thereof, or to enlarge or increase Landlord’s obligations or liabilities under the Lease, and all terms, covenants and conditions of the Lease are hereby declared by each of Landlord, Tenant and Assignee to be in full force and effect, subject
755200854.12    1    


to the terms of this Consent. Nothing contained herein shall release Tenant from any obligations of Tenant accruing under the Lease prior to the Assignment Date and/or any obligations that would survive the expiration or earlier termination of the Lease had the Lease terminated on the day immediately preceding the Assignment Date (collectively, the "Tenant Surviving Obligations”). Except for the Tenant Surviving Obligations, Landlord hereby releases Tenant from any and all obligations and liabilities under the Lease that first accrue from and after the Assignment Date.
1.4.Notwithstanding anything in the Assignment Agreement to the contrary:
a.    Commencing on the Assignment Date, Assignee does hereby expressly assume and agree to be bound by the Lease and to perform and comply with, for the benefit of Landlord, each and every obligation of Tenant under the Lease accruing from and after the Assignment Date.
b.    Tenant and Assignee agree to each of the terms and conditions of this Consent, and upon any conflict between the terms of the Assignment Agreement and this Consent, the terms of this Consent shall control.
1.5.The mention in this Consent of any particular remedy shall not preclude Landlord from any other remedy in law or in equity.
1.6.Concurrent with Tenant’s delivery of an executed counterpart of this Consent to Landlord, Tenant shall, pursuant to the terms of Section 22(b) of the Lease, pay to Landlord a fee in the amount of $2,500 in consideration of Landlord’s review of the Assignment Agreement and preparation of this Consent.
1.7.Tenant and Assignee agree that the Assignment Agreement will not be modified or amended in any way without the prior written consent of Landlord, which consent shall not be unreasonably withheld, conditioned or delayed. Any modification or amendment of the Assignment Agreement without Landlord’s prior written consent shall be void and of no force or effect.
1.8.Tenant shall provide written notice to Landlord: (i) at least (5) business days prior to the Assignment Date, or (ii) within three (3) business days following Assignee’s exercise of its right to terminate the Assignment pursuant to Section 3 of the Assignment Agreement.
2.Lease Amendment. Effective as of the Assignment Date, Landlord and Assignee hereby agree that the Lease is hereby amended as follows:
2.1.Base Rent. On or before the Assignment Date, Tenant shall deliver to Landlord Base Rent for the period commencing on the Assignment Date through the date which is 3 months after the Assignment Date (the “Base Rent Abatement Amount”). Notwithstanding anything to the contrary contained in the Lease, Assignee, as “Tenant” under the Lease, shall not be required to pay Base Rent for the period commencing on the Assignment Date through the date which is 3 months after the Assignment Date and Landlord shall apply the Base Rent Abatement Amount actually delivered by Tenant to the Base Rent payable under the Lease during such period.
2.2.Security Deposit.
a.    Commencing on the Assignment Date, the defined term “Security Deposit” on page 1 of the Lease shall be amended to read as follows:
Security Deposit: $220,655.79”
b.    As of the date hereof, Landlord holds a Letter of Credit in the amount of $415,696.48 (the “Codexis Letter of Credit”). Within ten (10) business days after the Assignment Date, Landlord shall execute any documentation reasonably required for the cancelation of the Codexis Letter of Credit (and, if required by the issuer thereof for cancelation, return the original thereof). On or before the Assignment Date, Assignee shall deliver to Landlord a Security Deposit in the amount of Two Hundred Twenty
755200854.12    2    


Thousand, Six Hundred Fifty-Five and 79/100 Dollars ($220,655.79), in the form of a Letter of Credit satisfying the requirements set forth in the Lease. Notwithstanding the foregoing, if Assignee is delayed in delivering to Landlord such Security Deposit, Landlord shall have the right to continue to hold the Codexis Letter of Credit until the date which is ten (10) business days after Assignee delivers to Landlord such Security Deposit. If Assignee has not delivered such Security Deposit within thirty (30) days after the Assignment Date, Landlord shall have the right, but not the obligation, to draw on the Codexis Letter of Credit in the amount of the Security Deposit and hold such proceeds until the date which is ten (10) business days after Assignee delivers to Landlord such Security Deposit (at which time Landlord shall return such proceeds to Tenant).
c.    Notwithstanding anything to the contrary contained in Section 40 of the Lease, if Assignee exercises the Extension Right pursuant to the terms and conditions set forth in Section 40 of the Lease, Landlord may require that Assignee either (i) renew or extend the existing Letter of Credit, or (ii) provide a new Letter of Credit, pursuant to the terms and conditions set forth in Section 6 of the Lease.
2.3.Additional TI Allowance. Section 4(b) of the Lease is hereby deleted in its entirety and have no further force or effect.
2.4.Alterations. In accordance with the terms of Section 12 of the Lease, Tenant shall not be required to remove or restore the Tenant Improvements, or any other alterations or improvements existing in the Premises as of the date of this Consent, at the expiration or earlier termination of the Term, nor shall Tenant have the right to remove any of the Tenant Improvements, or any other alterations or improvements existing in the Premises as of the date of this Consent, at any time during the Term or upon the expiration or earlier termination of the Term.
2.5.Right to Expand. Section 39 of the Lease is hereby deleted in its entirety and have no further force or effect.
2.6.Extension Right. Section 40 of the Lease shall remain in full force and effect. Notwithstanding the provisions of Section 40(c) of the Lease, Landlord hereby consents to the assignment of the Extension Right to Assignee and Section 40(c) of the Lease shall remain in full force and effect.
Landlord and Assignee hereby agree that except for the Tenant Surviving Obligations, Landlord hereby releases Tenant from any and all obligations and liabilities under the Lease that accrue from and after the Assignment Date, including, without limitation any exercise of the Extension Right, expansion of the Premises, extension of the term of the Lease or any further amendment or modification of the Lease.
3.Condition of the Premises. As between Landlord and Tenant, Tenant shall be required to deliver the Premises to Assignee on the Assignment Date in the same condition that Tenant would have been required to surrender the Premises to Landlord at the expiration of the Term, including, without limitation, completion of the Decommissioning and HazMat Closure Plan with respect to Tenant’s lab operations in the Premises. Tenant shall not remove from the Premises any of the Tenant Improvements or any other alterations or improvements permitted by the Lease existing as of the date of this Consent.
4.Representations and Warranties; Acknowledgment of Commencement Date.
4.1.Tenant. Tenant hereby represents and warrants to Landlord and Assignee that, as of the date of this Consent, to Tenant’s knowledge, without duty of investigation or inquiry, (i) Landlord is not in default under the Lease, (ii) no consent of any partner, shareholder, creditor, investor, judicial or administrative body, authority or other party is required of Tenant that has not been obtained in connection with the Assignment or this Consent, (iii) the individuals executing this Consent and the instruments referenced herein on behalf of Tenant and the partners, officers or trustees of Tenant, if any, have the legal power, right, and actual authority to bind Tenant to the terms and conditions hereof and thereof, and (iv) there are no modifications to the Lease except as expressly set forth in this Consent.
4.2.Assignee. Assignee hereby represents and warrants to Landlord and Tenant that, as of the date of this Consent, to Assignee’s knowledge, without duty of investigation or inquiry,
755200854.12    3    


(i) no consent of any partner, shareholder, creditor, investor, judicial or administrative body, authority or other party is required of Assignee that has not been obtained in connection with the Assignment or this Consent, and (ii) the individuals executing this Consent and the instruments referenced herein on behalf of Assignee and the partners, officers or trustees of Assignee, if any, have the legal power, right, and actual authority to bind Assignee to the terms and conditions hereof and thereof.
4.3.Landlord. Landlord hereby represents and warrants to Tenant and Assignee that, as of the date of this Consent, to Landlord’s knowledge, without duty of investigation or inquiry, (i) Tenant is not in default under the Lease, (ii) no consent of any partner, shareholder, creditor, investor, judicial or administrative body, authority or other party is required of Landlord in connection with this Consent that has not been obtained, (iii) the individuals executing this Consent and the instruments referenced herein on behalf of Landlord and the partners, officers or trustees of Landlord, if any, have the legal power, right, and actual authority to bind Landlord to the terms and conditions hereof and thereof, and (iv) there are no modifications to the Lease except as expressly set forth in this Consent.
4.4.Acknowledgment of Commencement Date. Pursuant to that certain Acknowledgement of Commencement Date dated as of December 5, 2022 executed by Landlord and Tenant, the Commencement Date of the Base Term of the Lease occurred on November 30, 2021 and the termination date of the Base Term under the Lease is November 30, 2031.
5.Miscellaneous.
5.1.This Consent may be executed in multiple counterparts, each of which shall be deemed an original, but all of which together shall constitute one and the same instrument. Counterparts may be delivered via electronic mail (including pdf or any electronic signature process complying with the U.S. federal ESIGN Act of 2000) or other transmission method and any counterpart so delivered shall be deemed to have been duly and validly delivered and be valid and effective for all purposes. Electronic signatures shall be deemed original signatures for purposes of this Consent and all matters related thereto, with such electronic signatures having the same legal effect as original signatures.
5.2.This Consent and the legal relations between the parties hereto shall be governed by and construed and enforced in accordance with the internal laws of the state in which the Premises is located, without regard to its principles of conflicts of law.
5.3.Each of Tenant and Assignee are currently (a) in compliance with and, with respect to the Assignee, shall at all times during the Term of the Lease remain, in compliance with the regulations of the Office of Foreign Assets Control (“OFAC”) of the U.S. Department of Treasury and any statute, executive order, or regulation relating thereto (collectively, the “OFAC Rules”), (b) not listed on, and, with respect to the Assignee, shall not during the Term of the Lease be listed on, the Specially Designated Nationals and Blocked Persons List, Foreign Sanctions Evaders List or the Sectoral Sanctions Identifications List, which are all maintained by OFAC and/or on any other similar list maintained by OFAC or other governmental authority pursuant to any authorizing statute, executive order, or regulation, and (c) not a person or entity with whom a U.S. person is prohibited from conducting business under the OFAC Rules.
5.4.Tenant shall pay any broker commissions or fees that may be payable as a result of the Assignment pursuant to a separate agreement and Tenant hereby indemnifies and agrees to hold Landlord harmless from and against any loss or liability arising therefrom or from any other commissions or fees payable in connection with the Assignment which result from the actions of Tenant. Assignee hereby indemnifies and agrees to hold Landlord harmless from and against any loss or liability arising from any commissions or fees payable in connection with the Assignment which result from the actions of Assignee.
5.5.Section 41(p) of the Lease entitled “California Accessibility Disclosure” is hereby incorporated by reference.
755200854.12    4    


5.6.Tenant and Assignee acknowledge that Landlord’s business operations are proprietary to Landlord.  Absent prior written consent from Landlord, Tenant and Assignee shall hold confidential and will not disclose to third parties, and shall require their respective agents, assignees, sublessees, employees, invitees and contractors, to hold confidential and not disclose to third parties, information concerning Landlord’s business operations, including but not limited to information regarding the systems, controls, equipment, programming, vendors, tenants, and specialized amenities of Landlord. Notwithstanding the foregoing, Tenant and Assignee may disclose such information (x) to Tenant’s or Assignee’s respective employees, board of directors, committees, lenders, investors, third parties, consultants and advisors as reasonably required in the ordinary course of Tenant’s or Assignee’s respective operations, provided that each of Tenant and Assignee shall request that such parties treat the information as confidential, (y) for compliance with a valid order of a court or other governmental body having jurisdiction, or any law, statute, or regulation, and (z) where required in connection with a dispute resolution proceeding between the parties.
5.7.Any notice given by Landlord to Tenant or Assignee following the Assignment Date may be delivered by (i) reputable overnight courier, or (ii) hand delivery with signature confirming receipt to the following address:
Tenant’s notice address following the Assignment Date:
Codexis, Inc.
400 Penobscot Drive
Redwood City, California 94063

Attention: Chief Operating Officer
With a copy to:
Codexis, Inc.
400 Penobscot Drive
Redwood City, California 94063

Attention: General Counsel
Assignee’s notice address following the Assignment Date:
Vaxcyte, Inc.
825 Industrial Road, 3rd Floor
San Carlos, California 94070
Attention: Chief Executive Officer
With a copy to:
Vaxcyte, Inc.
825 Industrial Road, 3rd Floor
San Carlos, California 94070
Attention: General Counsel
[Signature Page Follows]

755200854.12    5    


IN WITNESS WHEREOF, Landlord, Tenant and Assignee have caused their duly authorized representatives to execute this Consent as of the date first above written.
LANDLORD:                ARE-SAN FRANCISCO NO. 63, LLC,
a Delaware limited liability company
By:    ALEXANDRIA REAL ESTATE EQUITIES, L.P.,
a Delaware limited partnership,
managing member
By:    ARE-QRS CORP.,
a Maryland corporation,
general partner
    By:                     
Its:                     
TENANT:    CODEXIS, INC.,
a Delaware corporation
By:                        
Name:    Kevin Norrett            
Its:
    Chief Operating Officer        
□ I hereby certify that the signature, name, and title
above are my signature, name and title.
CODEXIS, INC.,
a Delaware corporation
By:                        
Name:    Sri Ryali            
Its:
     CFO                
□ I hereby certify that the signature, name, and title
above are my signature, name and title.
ASSIGNEE:    VAXCYTE, INC.,
a Delaware corporation
By:                        
Name:                    
Its:
                        
□ I hereby certify that the signature, name, and title
above are my signature, name and title.
755200854.12    6    


Exhibit A

Copy of Assignment Agreement

(See Attached)

[*]







EX-31.1 4 cdxs_20230930xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, Stephen Dilly, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Codexis, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: November 3, 2023
/s/ Stephen Dilly
Stephen Dilly
President and Chief Executive Officer
(principal executive officer)


EX-31.2 5 cdxs_20230930xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Sriram Ryali, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Codexis, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: November 3, 2023
/s/ Sriram Ryali
Sriram Ryali
Chief Financial Officer
(principal financial and accounting officer)


EX-32.1 6 cdxs_20230930xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of Codexis, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended September 30, 2023, as filed with the Securities and Exchange Commission (the “Report”), Stephen Dilly, President and Chief Executive Officer of the Company and Sriram Ryali, Chief Financial Officer of the Company, respectively, do each hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
The information in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.



Date: November 3, 2023
/s/ Stephen Dilly
Stephen Dilly
President and Chief Executive Officer
(principal executive officer)
/s/ Sriram Ryali
Sriram Ryali
Chief Financial Officer
(principal financial and accounting officer)


EX-101.SCH 7 cdxs-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Operations (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000008 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000009 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Net Loss per Share link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Investments in Non-Marketable Securities link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Balance Sheets Details link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Stock-based Compensation link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Capital Stock link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Related Party Transactions link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Segment, Geographical and Other Revenue Information link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Allowance for Credit Losses link:presentationLink link:calculationLink link:definitionLink 0000023 - Disclosure - Restructuring Charges link:presentationLink link:calculationLink link:definitionLink 0000024 - Disclosure - Assets Held For Sale link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Net Loss per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Investments in Non-Marketable Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Balance Sheets Details (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Stock-based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Allowance for Credit Losses (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Revenue Recognition - Contracts with Customer (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Revenue Recognition - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Investments in Non-Marketable Securities - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Balance Sheets Details - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Balance Sheets Details - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Stock-based Compensation - Employee Stock Purchase Plan (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Stock-based Compensation - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Capital Stock (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Commitments and Contingencies - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Commitment and Contingencies - Schedule of Right-of-use Assets and Lease Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Commitments and Contingencies - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Commitments and Contingencies - Other Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 9954510 - Disclosure - Related Party Transactions (Details) link:presentationLink link:calculationLink link:definitionLink 9954511 - Disclosure - Segment, Geographical and Other Revenue Information - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954512 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) link:presentationLink link:calculationLink link:definitionLink 9954513 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 9954514 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 9954515 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 9954516 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954517 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 9954518 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) link:presentationLink link:calculationLink link:definitionLink 9954519 - Disclosure - Restructuring Charges - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954520 - Disclosure - Assets Held For Sale (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 cdxs-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 9 cdxs-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 10 cdxs-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Financing Receivable, Allowance for Credit Loss [Roll Forward] Financing Receivable, Allowance for Credit Loss [Roll Forward] Schedule of Other Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Other accrued liabilities Total other accrued liabilities Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Inventory reserves Inventory Valuation Reserves Customer E Customer E [Member] Customer E Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Research and development Research and Development Expense Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Related Party Transaction [Line Items] Related Party Transaction [Line Items] Expiration period Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Investment, Name [Domain] Investment, Name [Domain] Expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Schedule of Commitments and Contingencies [Table] Schedule of Commitments and Contingencies [Table] Schedule of commitments and contingencies. Investments, Debt and Equity Securities [Abstract] Revolving Credit Facility Revolving Credit Facility [Member] Investment in non-marketable equity securities ($0 and $13,921 with a related party) Investment at cost basis Investments and Other Noncurrent Assets MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance Shares Performance Shares [Member] Segment Reporting [Abstract] Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Computer equipment and software Computer Equipment [Member] Discontinued Operations and Disposal Groups [Abstract] Restatement Determination Date: Restatement Determination Date [Axis] Investment, Name [Axis] Investment, Name [Axis] Office equipment and furniture Office Equipment and Furniture [Member] Office Equipment and Furniture [Member] Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Commitments and Contingencies (Note 10) Commitments and Contingencies Operating Leases Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Capital Stock Equity [Text Block] 2024 and Thereafter Other Commitment, To Be Paid, Year One And Thereafter Other Commitment, To Be Paid, Year One And Thereafter Proceeds from issuance of common stock in connection with public offering Proceeds from Issuance of Common Stock Current Financial Asset, Not Past Due [Member] Total revenues Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized Geographical [Axis] Geographical [Axis] Geographical [Axis] Deferred revenue Increase (Decrease) in Contract with Customer, Liability Share-based payment award, performance goals achieved, threshold level, shares Eligible to vest, multiplier Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier Restricted cash Restricted Cash and Cash Equivalents, Noncurrent Concentration Risk [Line Items] Concentration Risk [Line Items] San Carlos San Carlos [Member] San Carlos Geographic Distribution [Domain] Geographic Distribution [Domain] Customer [Axis] Customer [Axis] Sale of stock, maximum selling period Sale Of Stock, Maximum Selling Period Sale Of Stock, Maximum Selling Period Current liabilities: Liabilities, Current [Abstract] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding Preferred Stock, Value, Issued Subsequent Event Type [Domain] Subsequent Event Type [Domain] Common Stock Warrants Common Stock Warrants [Member] Common Stock Warrants Schedule of Inventory Components Inventory, Net [Abstract] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table] Fair Value, Recurring and Nonrecurring [Table] Net loss per share, diluted (in dollars per share) Earnings Per Share, Diluted Unrealized gain on non-marketable securities Unrealized Gain (Loss) on Investments PEO Total Compensation Amount PEO Total Compensation Amount Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Goodwill [Roll Forward] Goodwill [Roll Forward] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Level 3 Fair Value, Inputs, Level 3 [Member] Other-than-temporary impairment losses Debt Securities, Available-for-Sale, Unrealized Loss RSAs and RSUs RSUs and RSAs RSAs and RSUs [Member] RSAs and RSUs [Member] Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Net loss Net loss Net loss Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] 91 Days and over Financial Asset, Equal to or Greater than 90 Days Past Due [Member] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Schedule of Cash and Cash Equivalents Schedule of Cash and Cash Equivalents [Table Text Block] Liabilities and Stockholders' Equity Liabilities and Equity [Abstract] Employee Stock Employee Stock [Member] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Stockholders' equity: Equity, Attributable to Parent [Abstract] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Contract liabilities: deferred revenue Contract with Customer, Liability Exercise of stock options (in shares) Stock options exercised (shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Impairment of investment in non-marketable equity securities Equity Securities without Readily Determinable Fair Value, Impairment Loss, Annual Amount Cost of product revenue Cost of Goods and Services Sold Award vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Equity securities earned from research and development activities ($0 and $1,245 from a related party) Equity securities earned from research and development activities Other Noncash Income Executive Category: Executive Category [Axis] Other Commitments [Table] Other Commitments [Table] Basis of Presentation and Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Weighted average exercise price of stock options exercised (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name Series C-1 Preferred Stock Series C-1 Preferred Stock [Member] Series C-1 Preferred Stock Goodwill Goodwill, beginning balance Goodwill, ending balance Goodwill Goodwill Schedule of Property and Equipment, Net Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Number of shares available for grant Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Schedule of Revenues by Geographical Area Reconciliation of Revenue from Segments to Consolidated [Table Text Block] Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Facility maintenance agreement Facility Maintenance Agreement [Member] Facility Maintenance Agreement Local Phone Number Local Phone Number Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Forecast Forecast [Member] Accounts Receivable Accounts Receivable [Member] Selling, general and administrative Selling, General and Administrative Expenses [Member] Long-term lease obligations - Operating leases Operating Lease, Liability, Noncurrent RSUs Restricted Stock Units (RSUs) [Member] Schedule of Stock-based Compensation Expense by Security Types Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Costs incurred in connection with offering Payments of Stock Issuance Costs Depreciation Depreciation Depreciation Performance obligations satisfied from new activities in the period - contract revenue Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition PSC Piper Sandler & Co [Member] Piper Sandler & Co Number of installments Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments Performance Enzymes Performance Enzymes [Member] Performance Enzymes [Member] Income Statement Location [Axis] Income Statement Location [Axis] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Summary of financial instruments measured at fair value on a recurring basis Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] Non-current restricted cash Restricted Cash and Investments, Noncurrent Allowance for Credit Losses Credit Loss, Financial Instrument [Text Block] Novel Biotherapeutics Biotherapeutic Segment [Member] Biotherapeutic Segment [Member] Taxes paid related to net share settlement of equity awards Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Operating Lease Maturity Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] 2022 PSU And 2022 PBO 2022 PSU And 2022 PBO [Member] 2022 PSU And 2022 PBO Shares Not Included in Computation of Diluted Net Loss Per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Release of stock awards (in shares) Stock Issued During Period, Shares, Other Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Lease Cost Lease, Cost [Table Text Block] Inventories Increase (Decrease) in Inventories Research and development Research and Development Expense [Member] Investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Restructuring reserve Restructuring Reserve Award Type [Axis] Award Type [Axis] Total shares excluded as anti-dilutive (shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Grants in period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Supplemental non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Asset impairment and other charges Asset Impairment And Other Charges Asset Impairment And Other Charges Adjustment to the existing allowance Allowance For Credit Loss, Adjustment Allowance For Credit Loss, Adjustment Compensation not yet recognized, share-based awards other than options Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Schedule of Supply and Service Commitments Supply Commitment [Table Text Block] Capital expenditures incurred but not yet paid Capital Expenditures Incurred but Not yet Paid Fair Value, Measurements, Fair Value Hierarchy [Domain] Fair Value Hierarchy and NAV [Domain] Number of shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Novel Biotherapeutics Novel Biotherapeutics [Member] Novel Biotherapeutics [Member] Property and equipment Property, Plant and Equipment, Gross Additions Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Incentive Stock Options Incentive Stock Options [Member] Incentive Stock Options [Member] Trading Arrangement: Trading Arrangement [Axis] Related Party Transactions Related Party Transactions Disclosure [Text Block] Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Employee-related Liabilities, Current Employee-related Liabilities, Current [Member] Employee-related Liabilities, Current seqWell seqWell [Member] seqWell Entity File Number Entity File Number Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Contract costs Capitalized Contract Cost, Net, Current Current portion of lease obligations - Operating leases Operating Lease, Liability, Current Finance lease costs Finance Lease, Cost Finance Lease, Cost Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Unbilled receivables Unbilled Receivables, Current Lease term Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Table] Counterparty Name [Domain] Counterparty Name [Domain] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Cash, cash equivalents and restricted cash at the beginning of the period Cash, cash equivalents and restricted cash at the end of the period Total cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Sale of stock, period Sale Of Stock, Period Sale Of Stock, Period Interest income Investment Income, Interest Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Variable lease cost Variable Lease, Cost Operating lease costs Operating Lease, Cost Accounts receivable, borrowing base percentage Line of Credit Facility, Accounts Receivable Borrowing Base Percentage Line of Credit Facility, Accounts Receivable Borrowing Base Percentage Impairment of Long-Lived Assets Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block] Assets held for sale Asset, Held-for-Sale, Not Part of Disposal Group, Current 501 Chesapeake 501 Chesapeake [Member] 501 Chesapeake Common stock, shares, issued (in shares) Common Stock, Shares, Issued Costs and operating expenses: Operating Costs and Expenses [Abstract] Deferred revenue Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Net proceeds received Sale of Stock, Consideration Received on Transaction Selling, general and administrative Selling, General and Administrative Expense Award vesting rights Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Stock Options Stock options Employee Stock Option [Member] Total costs and operating expenses Costs and Expenses Maximum Maximum [Member] Document Type Document Type Tabular List, Table Tabular List [Table Text Block] Write-offs Allowance For Credit Loss, Writeoff Allowance For Credit Loss, Writeoff Short-term lease costs Short-Term Lease, Cost Balance Sheets Details Balance Sheets Details [Text Block] Balance sheets details. EMEA EMEA [Member] Entity Address, Address Line One Entity Address, Address Line One Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Stock-based Compensation Share-Based Payment Arrangement [Text Block] Investments in Non-Marketable Securities Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block] Basis of Presentation and Principles of Consolidation Basis of Accounting, Policy [Policy Text Block] Subsequent Event Subsequent Event [Member] Customer Concentration Risk Customer Concentration Risk [Member] 2022 Inducement Plan 2022 Inducement Plan [Member] 2022 Inducement Plan Number of shares purchased (in shares) Investment Owned, Balance, Shares Cash Cash [Member] Income Statement [Abstract] Income Statement [Abstract] Security Owned Not Readily Marketable, Name [Domain] Security Owned Not Readily Marketable, Name [Domain] Term Loan Term Loan [Member] Term Loan [Member] Issuance of common stock, net of issuance costs (shares) Stock Issued During Period, Shares, New Issues Title of 12(b) Security Title of 12(b) Security Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Assets Held For Sale Discontinued Operations, Policy [Policy Text Block] Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Performance Enzymes Core Segment [Member] Core Segment [Member] Money market funds Estimated Fair Value Cash and Cash Equivalents, Fair Value Disclosure Loss Contingency, Nature [Domain] Loss Contingency, Nature [Domain] Related Party [Domain] Related Party, Type [Domain] Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Operating segments Operating Segments Operating Segments [Member] Less: allowances Balance at beginning of period Balance at end of period Financing Receivable, Allowance for Credit Loss, Current Remeasurement due to lease modification Remeasurement due to lease modification Operating Lease, Write-off Due To Lease Modification Operating Lease, Write-off Due To Lease Modification Class of Stock [Line Items] Class of Stock [Line Items] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Thereafter Lessee, Operating Lease, Liability, to be Paid, After Year Four Lessee, Operating Lease, Liability, to be Paid, After Year Four Renewal term Lessee, Operating Lease, Lease Not yet Commenced, Renewal Term Performance Based Options (PBOs) PBOs Performance Based Options (PBOs) [Member] Performance Based Options (PBOs) [Member] Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Other Commitments [Domain] Other Commitments [Domain] Inventories Total Inventories Inventory, Net Total lease cost Lease, Cost Statistical Measurement [Axis] Statistical Measurement [Axis] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Assets Held For Sale Disposal Groups, Including Discontinued Operations, Disclosure [Text Block] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Asset retirement obligation Asset Retirement Obligation Total Shareholder Return Amount Total Shareholder Return Amount Product revenue Product [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Segments [Domain] Segments [Domain] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Accumulated deficit Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Accounts receivable Accounts Receivable, before Allowance for Credit Loss, Current Other Commitments [Line Items] Other Commitments [Line Items] Security deposit Security Deposit 2023 (Remaining 3 Months) Other Commitment, to be Paid, Remainder of Fiscal Year Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Counterparty Name [Axis] Counterparty Name [Axis] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] 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] Schedule of Related Party Transactions, by Related Party [Table] Schedule of Related Party Transactions, by Related Party [Table] Lease payments Lease payments Operating Lease, Payments Common stock, shares, outstanding (in shares) Common Stock, Shares, Outstanding Indemnification Agreement Indemnification Agreement [Member] MCRA Master Collaboration & Research Agreement [Member] Master Collaboration & Research Agreement Impairment Impairment Operating Lease, Impairment Loss PEO PEO [Member] Non-employee stock-based compensation APIC, Share-Based Payment Arrangement, Other, Increase for Cost Recognition Share-based compensation arrangement by share-based payment award, performance goals achieved, target level, shares eligible to vest, multiplier Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Target Level, Shares Eligible To Vest, Multiplier Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Target Level, Shares Eligible To Vest, Multiplier Other non-cash items Other Operating Activities, Cash Flow Statement Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding Performance Share Units (PSUs) Performance Share Units (PSUs) [Member] Performance Share Units (PSUs) Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Class of Stock [Domain] Class of Stock [Domain] Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Schedule of Inventory Components Schedule of Inventory, Current [Table Text Block] Name of Property [Domain] Name of Property [Domain] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Lease obligations Beginning balance, lease obligations - operating leases, net Ending balance, lease obligations - operating leases, net Lease obligations Operating Lease, Liability Carrying Value of Non-marketable Equity Securities Equity Securities without Readily Determinable Fair Value [Table Text Block] Credit Facility [Axis] Credit Facility [Axis] Series B Preferred Stock Series B Preferred Stock [Member] Total liabilities Liabilities Sale of stock, consideration received on transaction, gross Sale of Stock, Consideration Received on Transaction, Gross Sale of Stock, Consideration Received on Transaction, Gross Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Vesting [Domain] Vesting [Domain] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Maximum number of shares to be issued upon exercise of stock options Common Stock, Capital Shares Reserved for Future Issuance All Executive Categories All Executive Categories [Member] Deferred revenue, net of current portion Contract with Customer, Liability, Noncurrent 2019 Amended Plan 2019 Amended Plan [Member] 2019 Amended Plan Financial assets: Financing Receivable, before Allowance for Credit Loss [Abstract] Restricted Cash and Cash Equivalents [Axis] Restricted Cash and Cash Equivalents [Axis] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Plan Name [Axis] Plan Name [Axis] Accrued professional and outside service fees Accrued Professional Fees Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Related Party Transaction [Domain] Related Party Transaction [Domain] Research and development revenue from transactions with MAI Nonmonetary Transaction, Gross Operating Revenue Recognized Number of reportable segments Number of Reportable Segments Earnings Per Share [Abstract] Earnings Per Share [Abstract] Common stock, $0.0001 par value per share; 200,000 shares authorized; 69,827 shares and 65,811 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively Common Stock, Value, Issued Security Owned Not Readily Marketable [Axis] Security Owned Not Readily Marketable [Axis] Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Loss contingency accrual Loss Contingency, Accrual, Current Amortization of right-of-use assets Amortization of right-of-use assets Operating Lease, Right-of-Use Asset, Periodic Reduction Accrued compensation and other accrued liabilities Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities 2019 Plan 2019 Plan [Member] 2019 Plan [Member] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Other Other Accrued Liabilities Segment Information Segment Reporting, Policy [Policy Text Block] Total current assets Assets, Current Schedule of Long-Lived Assets by Geographical Area Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block] Asset impairment charges Asset Impairment Charges Schedule of Customers that Contributed 10% or More of Total Accounts Receivable Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Restricted cash, current Restricted Cash All Individuals All Individuals [Member] Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Other income (expense), net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Accrued purchases Purchase Obligation Restructuring Type [Axis] Restructuring Type [Axis] Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Unrealized or realized gains or losses Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount Arzeda Arzeda [Member] Arzeda PEO Name PEO Name Concentration risk, percentage Concentration Risk, Percentage Number of shares received in exchange for services (in shares) Noncash or Part Noncash Acquisition, Noncash Financial or Equity Instrument Consideration, Shares Issued Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Schedule of Goodwill Schedule of Goodwill [Table Text Block] Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Marketable Securities [Line Items] Marketable Securities [Line Items] Net cash provided by (used in) operating activities Net Cash Provided by (Used in) Operating Activities Financing Receivable, Allowance for Credit Loss [Line Items] Financing Receivable, Allowance for Credit Loss [Line Items] Analysis of Allowance for Credit Losses Allowance For Credit Loss [Table Text Block] Allowance For Credit Loss Class of Stock [Axis] Class of Stock [Axis] Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Fixed contribution rate Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Amount Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Amount Investment in non-marketable securities Payments to acquire other investments Payments to Acquire Other Investments Corporate, non-segment Corporate, Non-Segment [Member] Unallocated depreciation and amortization Depreciation, Depletion and Amortization Description of Business Nature of Operations [Text Block] Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total stockholders' equity Beginning balance Ending balance Equity, Attributable to Parent Consolidation Items [Axis] Consolidation Items [Axis] Sale of stock, securities registered aggregate amount Sale Of Stock, Securities Registered Aggregate Amount Sale Of Stock, Securities Registered Aggregate Amount Long-lived assets Long-Lived Assets Impairment Goodwill impairment Goodwill, Impairment Loss Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Performance obligations satisfied Contract with Customer, Liability, Revenue Recognized Financial assets Increase (Decrease) in Finance Receivables Restricted cash, current and non-current Restricted Cash and Cash Equivalents Schedule of Stock by Class [Table] Schedule of Stock by Class [Table] Concentration Risk Type [Axis] Concentration Risk Type [Axis] 2021 PBO 2021 PBO [Member] 2021 PBO Loss before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Total non-marketable equity securities Equity Securities without Readily Determinable Fair Value, Amount Sale of stock, commissions, percentage of gross sales price Sale Of Stock, Commissions, Percentage Of Gross Sales Price Sale Of Stock, Commissions, Percentage Of Gross Sales Price Geographic Distribution [Axis] Geographic Distribution [Axis] Operating Lease, Right-of-Use Asset [Roll Forward] Operating Lease, Right-of-Use Asset [Roll Forward] Operating Lease, Right-of-Use Asset Sale of stock, value of shares for issuance Sale Of Stock, Value Of Shares For Issuance Sale Of Stock, Value Of Shares For Issuance Total over 31 Days Financial Receivables Past Due [Member] Financial Receivables Past Due Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Level 2 Fair Value, Inputs, Level 2 [Member] Non-Statutory Stock Options Non-Statutory Stock Options [Member] Non-Statutory Stock Options [Member] Other investments in non-marketable equity securities Other Security Investments [Member] Entity Emerging Growth Entity Emerging Growth Company Consecutive offering period Share-Based Compensation Arrangement By Share-based Payment Award, Consecutive Offering Period Share-Based Compensation Arrangement By Share-based Payment Award, Consecutive Offering Period Asset, held-for-sale, not part of disposal group Asset, Held-for-Sale, Not Part of Disposal Group Finished goods Inventory, Finished Goods, Gross 2022 PSU 2022 PSU [Member] 2022 PSU Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Document Fiscal Period Focus Document Fiscal Period Focus 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Performance awards, threshold level, number of shares, multiplier Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier Antidilutive Securities [Axis] Antidilutive Securities [Axis] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Shares issuable under the Equity Incentive Plan Share-Based Payment Arrangement [Member] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Financial Asset, Aging [Domain] Financial Asset, Aging [Domain] Sale of stock, commissions and reimbursements, percentage of gross sales price Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price Net Loss per Share Earnings Per Share [Text Block] Product and Service [Axis] Product and Service [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Marketable Securities [Table] Marketable Securities [Table] Geographical [Domain] Geographical [Domain] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Interest accretion Operating Lease, Interest Accretion Operating Lease, Interest Accretion Receivables [Abstract] 200-220 Penobscot 200-220 Penobscot [Member] 200-220 Penobscot Exercise Price Award Exercise Price Area of real estate property (in square feet) Area of Real Estate Property Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Estimated performance goal achievement rate Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate Taxes paid related to net share settlement of equity awards Payment, Tax Withholding, Share-Based Payment Arrangement Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Summary of Financial Instruments Measured at Fair Value on a Recurring Basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] 400 Penobscot 400 Penoscot [Member] 400 Penoscot Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Contract assets Contract with Customer, Asset, before Allowance for Credit Loss, Current Accumulated Deficit Retained Earnings [Member] Schedule of Stock-based Compensation Expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and stockholders' equity Liabilities and Equity Other non-current assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Net loss per share, basic (in dollars per share) Earnings Per Share, Basic Right-of-use assets - Operating leases, net Beginning balance, lease obligation - operation leases, net Right-of-use assets - Operating leases, net, at September 30, 2023 Operating Lease, Right-of-Use Asset Compensation not yet recognized, stock options Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Credit losses Debt Securities, Available-for-Sale, Allowance for Credit Loss, Writeoff Geographic Areas, Long-Lived Assets [Abstract] Geographic Areas, Long-Lived Assets [Abstract] Accounting Policies [Abstract] Accounting Policies [Abstract] Restructuring and related cost, number of positions eliminated, period percent Restructuring and Related Cost, Number of Positions Eliminated, Period Percent Balance Sheets Details [Abstract] Balance Sheets Details [Abstract] -- None. No documentation exists for this element. -- One-time Termination Benefits One-time Termination Benefits [Member] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Award, expiration period upon termination of service Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] 2023 (remaining 3 months) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Schedule of Segment Reporting Schedule of Segment Reporting Information, by Segment [Table Text Block] Related Party Related Party [Member] Income taxes paid Income Taxes Paid Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Non-marketable equity securities purchased (in shares) Equity Securities Without Readily Determinable Fair Value, Shares Equity Securities Without Readily Determinable Fair Value, Shares Restructuring charges Restructuring Charges Research and development revenue Research and Development Revenue [Member] Research and Development Revenue [Member] MAI Molecular Assemblies, Inc. [Member] Molecular Assemblies, Inc. Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Americas Americas [Member] Raw materials Inventory, Raw Materials, Gross Financial Asset, Aging [Axis] Financial Asset, Aging [Axis] 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] Purchase price of common stock above minimum threshold Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent 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] Related Party Transactions [Abstract] All Trading Arrangements All Trading Arrangements [Member] All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Compensation Amount Outstanding Recovery Compensation Amount Contract with customer, liability, release, early termination of obligation Contract With Customer, Liability, Release, Early Termination Of Obligation Contract With Customer, Liability, Release, Early Termination Of Obligation Share-based compensation arrangement by share-based payment award, performance goals achieved, threshold level, shares eligible to vest, multiplier Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier Performance Obligation, Expected Timing of Satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Other Commitments [Axis] Other Commitments [Axis] Provision (recovery) for credit losses Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Schedule of Commitments and Contingencies [Line Items] Schedule of Commitments and Contingencies [Line Items] Schedule of Commitments and Contingencies [Line Items] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Proceeds from exercises of stock options Proceeds from exercises of stock options Proceeds from Stock Options Exercised Share-based compensation arrangement by share-based payment award, performance goals achieved, superior level, shares eligible to vest, multiplier Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Superior Level, Shares Eligible To Vest, Multiplier Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Superior Level, Shares Eligible To Vest, Multiplier Changes in the period: Change in Contract with Customer, Liability [Abstract] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] 2022 PBO 2022 PBO [Member] 2022 PBO Convertible Debt Convertible Debt [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Work-in-process Inventory, Work in Process, Gross Total financial assets Financing Receivable, before Allowance for Credit Loss Amounts included in contract liabilities at the beginning of the period: Change in Contract with Customer, Asset and Liability [Abstract] Insider Trading Arrangements [Line Items] Schedule of Intangible Assets and Goodwill Schedule of Intangible Assets and Goodwill [Table Text Block] Related Party [Axis] Related Party, Type [Axis] Customer B Customer B [Member] Customer B [Member] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Customer G Customer G [Member] Customer G Unrealized gain on non-marketable securities Equity Securities, FV-NI, Unrealized Gain (Loss) Adjustment to Compensation, Amount Adjustment to Compensation Amount Tranche Two Share-Based Payment Arrangement, Tranche Two [Member] Proceeds from sale of property and equipment Proceeds from Sale of Property, Plant, and Equipment Cost of product revenue Cost of Sales [Member] Employee Severance Employee Severance [Member] Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Less: accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Impairment charges related to contract assets Contract with Customer, Asset, Credit Loss Expense (Reversal) Percent of voting interests Percent of Voting Interests Threshold to trigger higher exercise price Percent of Voting Interests Threshold to trigger higher exercise price Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price Entity Central Index Key Entity Central Index Key Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Loss Contingency Nature [Axis] Loss Contingency Nature [Axis] Provision for income taxes Income Tax Expense (Benefit) Impairment of leasehold Impairment of Leasehold Accrued compensation Employee-related Liabilities, Current Vesting [Axis] Vesting [Axis] Costs incurred in connection with issuance of common stock at public offering Payments of Financing Costs Number of operating segments Number of Operating Segments Name Trading Arrangement, Individual Name Customer A Customer A [Member] Customer A [Member] Cash reconciliation: Cash and Cash Equivalents [Abstract] Provision for credit losses Financing Receivable, Credit Loss, Expense (Reversal) Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Issuance of common stock, net of issuance costs Stock Issued During Period, Value, New Issues Equity [Abstract] Equity [Abstract] Weighted-average remaining lease term (in years) Operating Lease, Weighted Average Remaining Lease Term 61-90 Days Financial Asset, 60 to 89 Days Past Due [Member] Total revenues Revenues Revenue from Contract with Customer, Excluding Assessed Tax Entity [Domain] Entity [Domain] Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Amendment Flag Amendment Flag Legal Entity [Axis] Legal Entity [Axis] Money Market Funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Number of options to extend Lessee, Operating Lease, Option To Extend, Number Lessee, Operating Lease, Option To Extend, Number 2021 PSU And 2021 PBO 2021 PSU And 2021 PBO [Member] 2021 PSU And 2021 PBO Cash and cash equivalents Adjusted Cost Cash and Cash Equivalents, at Carrying Value Demand Deposits Demand Deposits [Member] Taxes paid related to net share settlement of equity awards (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Weighted-average discount rate Operating Lease, Weighted Average Discount Rate, Percent Interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Summary of Accounts Receivable by Aging Financing Receivable, Past Due [Table Text Block] Credit Facility [Domain] Credit Facility [Domain] Shares issued in exchange for service Stock Issued During Period, Shares, Issued for Services Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Leasehold improvements Leasehold Improvements [Member] Weighted average common stock shares used in computing net loss per share, diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Total Other Commitment Contract with Customer Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Performance Stock Units (PSUs) PSUs Performance Stock Units [Member] Performance Stock Units [Member] Number of additional shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized Revenue Revenue, Product and Service Benchmark [Member] Revenue Recognition Revenue from Contract with Customer [Text Block] Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Customer F Customer F [Member] Customer F Additional Paid-in Capital Additional Paid-in Capital [Member] 31-60 Days Financial Asset, 30 to 59 Days Past Due [Member] Balance Sheet Location [Axis] Balance Sheet Location [Axis] Lease, Cost [Abstract] Lease, Cost [Abstract] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Cover page. Cover [Abstract] Employee stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Restructuring and Related Activities [Abstract] Series A Preferred Stock Series A Preferred Stock [Member] Fair Value Measurements Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block] Other long-term liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Performance obligation Revenue, Remaining Performance Obligation, Amount Construction in progress Construction in Progress [Member] Schedule of Right-of-use Assets and Lease Obligations Schedule Of Right-of-use Assets And Lease Obligations [Table Text Block] Schedule Of Right-of-use Assets And Lease Obligations Segment, Geographical and Other Revenue Information Segment Reporting Disclosure [Text Block] Net decrease in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Renewal term Lessee, Operating Lease, Renewal Term Equity Component [Domain] Equity Component [Domain] Adjustment to Compensation: Adjustment to Compensation [Axis] Purchase price of common stock Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent 2021 PSU 2021 PSU [Member] 2021 PSU Total financial assets, net Accounts and Financing Receivable, after Allowance for Credit Loss, Current Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Customer C Customer C [Member] Customer C Scenario [Axis] Scenario [Axis] Weighted average common stock shares used in computing net loss per share, basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Concentration Risk Type [Domain] Concentration Risk Type [Domain] Laboratory equipment Laboratory Equipment [Member] Laboratory Equipment [Member] Loss from operations Operating Income (Loss) Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Revenues: Revenues [Abstract] Series B-2 Preferred Stock Series B-2 Preferred Stock [Member] Series B-2 Preferred Stock Operating Lease, Liability [Roll Forward] Operating Lease, Liability [Roll Forward] Operating Lease, Liability Related Party Transaction [Axis] Related Party Transaction [Axis] Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Segments [Axis] Segments [Axis] Statement [Line Items] Statement [Line Items] Concentration Risk [Table] Concentration Risk [Table] APAC APAC [Member] Regions of Australia, New Zealand, Southeast Asia and China Customer D Customer D [Member] Customer D Scenario [Domain] Scenario [Domain] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Name of Property [Axis] Name of Property [Axis] Type of Restructuring [Domain] Type of Restructuring [Domain] Tranche One Share-Based Payment Arrangement, Tranche One [Member] EX-101.PRE 11 cdxs-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 12 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Cover Page - shares
9 Months Ended
Sep. 30, 2023
Oct. 30, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 001-34705  
Entity Registrant Name Codexis, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 71-0872999  
Entity Address, Address Line One 200 Penobscot Drive  
Entity Address, City or Town Redwood City  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94063  
City Area Code 650  
Local Phone Number 421-8100  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol CDXS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   69,830,199
Entity Central Index Key 0001200375  
Amendment Flag false  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Current Fiscal Year End Date --12-31  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 74,577 $ 113,984
Restricted cash, current 991 521
Financial assets:    
Accounts receivable 11,629 31,904
Contract assets 1,936 2,116
Unbilled receivables 5,661 7,016
Total financial assets 19,226 41,036
Less: allowances (133) (163)
Total financial assets, net 19,093 40,873
Inventories 2,305 2,029
Prepaid expenses and other current assets 5,402 5,487
Assets held for sale 646 0
Total current assets 103,014 162,894
Restricted cash 1,062 1,521
Investment in non-marketable equity securities ($0 and $13,921 with a related party) 18,013 20,510
Right-of-use assets - Operating leases, net 13,895 39,263
Property and equipment, net 15,282 22,614
Goodwill 2,463 3,241
Other non-current assets 726 350
Total assets 154,455 250,393
Current liabilities:    
Accounts payable 3,098 3,246
Accrued compensation 10,521 11,453
Other accrued liabilities 8,796 15,279
Current portion of lease obligations - Operating leases 6,764 5,360
Deferred revenue 9,236 13,728
Total current liabilities 38,415 49,066
Deferred revenue, net of current portion 10,100 16,881
Long-term lease obligations - Operating leases 13,215 38,278
Other long-term liabilities 1,219 1,371
Total liabilities 62,949 105,596
Commitments and Contingencies (Note 10)
Stockholders' equity:    
Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding 0 0
Common stock, $0.0001 par value per share; 200,000 shares authorized; 69,827 shares and 65,811 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively 6 6
Additional paid-in capital 581,838 566,081
Accumulated deficit (490,338) (421,290)
Total stockholders' equity 91,506 144,797
Total liabilities and stockholders' equity $ 154,455 $ 250,393
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Investment at cost basis $ 18,013 $ 20,510
Preferred stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized (in shares) 200,000,000 200,000,000
Common stock, shares, issued (in shares) 69,827,000 65,811,000
Common stock, shares, outstanding (in shares) 69,827,000 65,811,000
Related Party    
Investment at cost basis $ 0 $ 13,921
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenues:        
Total revenues $ 9,277 $ 34,470 $ 43,582 $ 108,215
Costs and operating expenses:        
Cost of product revenue 2,249 9,786 9,947 29,577
Research and development 13,662 21,821 47,651 60,410
Selling, general and administrative 12,302 13,499 41,066 39,859
Restructuring charges 3,140 0 3,284 0
Asset impairment and other charges 9,984 0 9,984 0
Total costs and operating expenses 41,337 45,106 111,932 129,846
Loss from operations (32,060) (10,636) (68,350) (21,631)
Interest income 1,056 436 3,266 618
Other income (expense), net (3,895) 216 (3,930) 150
Loss before income taxes (34,899) (9,984) (69,014) (20,863)
Provision for income taxes 9 8 34 125
Net loss $ (34,908) $ (9,992) $ (69,048) $ (20,988)
Net loss per share, basic (in dollars per share) $ (0.50) $ (0.15) $ (1.02) $ (0.32)
Net loss per share, diluted (in dollars per share) $ (0.50) $ (0.15) $ (1.02) $ (0.32)
Weighted average common stock shares used in computing net loss per share, basic (in shares) 69,466 65,426 67,670 65,271
Weighted average common stock shares used in computing net loss per share, diluted (in shares) 69,466 65,426 67,670 65,271
Product revenue        
Revenues:        
Total revenues $ 5,395 $ 28,042 $ 24,807 $ 93,376
Research and development revenue        
Revenues:        
Total revenues $ 3,882 $ 6,428 $ 18,775 $ 14,839
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenues $ 9,277 $ 34,470 $ 43,582 $ 108,215
Restructuring charges 3,140 0 3,284 0
Product revenue        
Revenues 5,395 28,042 24,807 93,376
Product revenue | Related Party        
Revenues 0 215 0 358
Research and development revenue        
Revenues 3,882 6,428 18,775 14,839
Research and development revenue | Related Party        
Revenues $ 0 $ 1,000 $ 0 $ 1,245
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Deficit
Beginning balance (in shares) at Dec. 31, 2021   65,109,000    
Beginning balance at Dec. 31, 2021 $ 164,391 $ 6 $ 552,083 $ (387,698)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (in shares) 252,100 252,000    
Exercise of stock options $ 612   612  
Release of stock awards (in shares)   332,000    
Employee stock-based compensation 11,467   11,467  
Non-employee stock-based compensation 133   133  
Taxes paid related to net share settlement of equity awards (in shares)   (80,000)    
Taxes paid related to net share settlement of equity awards (1,484)   (1,484)  
Net loss (20,988)     (20,988)
Ending balance (in shares) at Sep. 30, 2022   65,613,000    
Ending balance at Sep. 30, 2022 154,131 $ 6 562,811 (408,686)
Beginning balance (in shares) at Jun. 30, 2022   65,494,000    
Beginning balance at Jun. 30, 2022 159,459 $ 6 558,147 (398,694)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (in shares)   77,000    
Exercise of stock options 180   180  
Release of stock awards (in shares)   47,000    
Employee stock-based compensation 4,516   4,516  
Non-employee stock-based compensation 15   15  
Taxes paid related to net share settlement of equity awards (in shares)   (5,000)    
Taxes paid related to net share settlement of equity awards (47)   (47)  
Net loss (9,992)     (9,992)
Ending balance (in shares) at Sep. 30, 2022   65,613,000    
Ending balance at Sep. 30, 2022 154,131 $ 6 562,811 (408,686)
Beginning balance (in shares) at Dec. 31, 2022   65,811,000    
Beginning balance at Dec. 31, 2022 $ 144,797 $ 6 566,081 (421,290)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (in shares) 214,284 214,000    
Exercise of stock options $ 422   422  
Release of stock awards (in shares)   787,000    
Employee stock-based compensation 7,808   7,808  
Issuance of common stock, net of issuance costs (shares)   3,080,000    
Issuance of common stock, net of issuance costs 7,931   7,931  
Taxes paid related to net share settlement of equity awards (in shares)   (65,000)    
Taxes paid related to net share settlement of equity awards (404)   (404)  
Net loss (69,048)     (69,048)
Ending balance (in shares) at Sep. 30, 2023   69,827,000    
Ending balance at Sep. 30, 2023 91,506 $ 6 581,838 (490,338)
Beginning balance (in shares) at Jun. 30, 2023   69,804,000    
Beginning balance at Jun. 30, 2023 124,131 $ 6 579,555 (455,430)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Release of stock awards (in shares)   23,000    
Employee stock-based compensation 2,283   2,283  
Net loss (34,908)     (34,908)
Ending balance (in shares) at Sep. 30, 2023   69,827,000    
Ending balance at Sep. 30, 2023 $ 91,506 $ 6 $ 581,838 $ (490,338)
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Statement of Stockholders' Equity [Abstract]  
Costs incurred in connection with offering $ 721
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Cash Flows (Unaudited)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2023
USD ($)
Sep. 30, 2022
USD ($)
Operating activities:      
Net loss $ (34,908) $ (69,048) $ (20,988)
Adjustments to reconcile net loss to net cash provided by (used in) operating activities:      
Depreciation 1,357 4,302 3,961
Amortization of right-of-use assets   3,647 3,618
Stock-based compensation 2,283 7,808 11,600
Provision (recovery) for credit losses   0 (307)
Equity securities earned from research and development activities ($0 and $1,245 from a related party)   187 1,245
Unrealized gain on non-marketable securities   0 208
Asset impairment and other charges 9,984 9,984 0
Impairment of investment in non-marketable equity securities 3,900 3,875 0
Other non-cash items   (3) (29)
Changes in operating assets and liabilities:      
Financial assets   21,580 8,184
Inventories   (276) (463)
Prepaid expenses and other assets   (252) 429
Accounts payable   (105) (351)
Accrued compensation and other accrued liabilities   (7,269) 2,279
Other long-term liabilities   (4,384) (3,863)
Deferred revenue   (11,273) 3,750
Net cash provided by (used in) operating activities   (41,601) 6,367
Investing activities:      
Purchase of property and equipment   (4,798) (8,340)
Proceeds from sale of property and equipment   27 29
Investment in non-marketable securities   (1,191) (5,300)
Net cash used in investing activities   (5,962) (13,611)
Financing activities:      
Proceeds from exercises of stock options   422 612
Proceeds from issuance of common stock in connection with public offering   8,652 0
Costs incurred in connection with issuance of common stock at public offering   (503) (42)
Taxes paid related to net share settlement of equity awards   (404) (1,484)
Net cash provided by (used in) financing activities   8,167 (914)
Net decrease in cash, cash equivalents and restricted cash   (39,396) (8,158)
Cash, cash equivalents and restricted cash at the beginning of the period   116,026 118,895
Cash, cash equivalents and restricted cash at the end of the period 76,630 76,630 110,737
Supplemental disclosure of cash flow information:      
Interest paid   28 22
Income taxes paid   193 100
Supplemental non-cash investing and financing activities:      
Capital expenditures incurred but not yet paid   159 128
Cash reconciliation:      
Cash and cash equivalents 74,577 74,577 108,689
Restricted cash, current and non-current 2,053 2,053 2,048
Total cash, cash equivalents and restricted cash $ 76,630 $ 76,630 $ 110,737
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Cash Flows (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Equity securities earned from research and development activities $ (187) $ (1,245)
Related Party    
Equity securities earned from research and development activities $ 0 $ (1,245)
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.23.3
Description of Business
9 Months Ended
Sep. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of Business Description of Business
In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.
We discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins leveraging our proprietary CodeEvolver® directed evolution platform.
As of September 30, 2023, we reported our financial results based on two reportable segments: Performance Enzymes and Novel Biotherapeutics. Our Performance Enzymes business consists primarily of two focus areas: i) biocatalysts for the enzymatic manufacturing of pharmaceuticals and ii) enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. Our Novel Biotherapeutics business includes product candidates in clinical and preclinical development. The segment information aligns with how the chief operating decision maker (CODM), who is our Chief Executive Officer (CEO), reviews and manages the business. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation and Summary of Significant Accounting Policies
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation and Summary of Significant Accounting Policies Basis of Presentation and Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2022. 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 disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2022 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2022.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2023, results of our operations for the three and nine months ended September 30, 2023 and 2022, changes in stockholders' equity for the three and nine months ended September 30, 2023 and 2022, and cash flows for the nine months ended September 30, 2023 and 2022. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.
The unaudited condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, deferred revenue, inventories, valuation of equity investments, valuation of assets held for sale, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.
Impairment of Long-Lived Assets
We evaluate the carrying values of long-lived assets, which include property and equipment and right-of-use assets, whenever events, changes in business circumstances or our planned use of long-lived assets indicate that their carrying amounts may not be fully recoverable or that their useful lives are no longer appropriate. If these facts and circumstances exist, we assess for recovery by comparing the carrying values of long-lived assets with the future net undiscounted cash flows expected to be generated by the asset. If such assets are considered to be impaired, the impairment to be recognized is measure by the amount by which the carrying amount of the asset exceeds the fair value of the asset. For additional information on the impairment charge recorded in the three and nine months ended September 30, 2023, see Note 7, “Balance Sheets Details” and Note 10, “Commitments and Contingencies.”
Assets Held For Sale
The Company classifies assets as held for sale when the following conditions are met: (i) management has committed to a plan to sell, (ii) the assets are available for immediate sale in their present condition, (iii) the Company has initiated an active program to identify a buyer, (iv) it is probable that a sale will occur within one year, (v) the assets are actively marketed for sale at a reasonable price in relation to their current fair value, and (vi) there is a low likelihood of significant changes to the plan or that the plan will be withdrawn. If all of the criteria are met as of the balance sheet date, the assets are presented separately in the consolidated balance sheet as held for sale at the lower of the carrying amount or fair value less costs to sell. The assets are then no longer depreciated or amortized while classified as held for sale. For additional information, see Note 15, “Assets Held For Sale.”
Accounting Pronouncements
Recently adopted accounting pronouncements or recently issued accounting pronouncements not yet adopted
There were no recent accounting pronouncements or changes in accounting pronouncements during the three and nine months ended September 30, 2023, that are of significance or potential significance to us.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
Disaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).
Segment information is as follows (in thousands):
Three Months Ended September 30, 2023Three Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$5,395 $— $5,395 $28,042 $— $28,042 
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 
Primary geographical markets:
Americas$4,278 $— $4,278 $3,654 $1,168 $4,822 
EMEA2,624 567 3,191 3,831 2,156 5,987 
APAC1,808 — 1,808 23,661 — 23,661 
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 
Nine Months Ended September 30, 2023Nine Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$24,807 $— $24,807 $93,376 $— $93,376 
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 
Primary geographical markets:
Americas$8,865 $1,933 $10,798 $8,514 $3,653 $12,167 
EMEA10,484 4,146 14,630 11,017 3,788 14,805 
APAC18,154 — 18,154 81,243 — 81,243 
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 
Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
September 30, 2023December 31, 2022
Contract assets$1,936 $2,116 
Unbilled receivables$5,661 $7,016 
Contract costs$— $19 
Contract liabilities: deferred revenue$19,336 $30,609 
We had no asset impairment charges related to financial assets in the three and nine months ended September 30, 2023 and 2022.
The decrease in contract assets was primarily due to decreases in product revenue from contracts subject to over time revenue recognition. The decrease in unbilled receivables was primarily due to the timing of billings. The decrease in deferred revenue was primarily due to timing of recognition of revenue, including the $2.9 million release of prior periods' product revenue deferrals during the second quarter of 2023 due to early termination of the enzyme supply obligations to a customer.
We recognized the following revenues (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
Revenue recognized in the period for:2023202220232022
Amounts included in contract liabilities at the beginning of the period:
Performance obligations satisfied$1,303 $889 $9,111 $1,694 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods1,018 495 4,238 365 
Performance obligations satisfied from new activities in the period - contract revenue6,956 33,086 30,233 106,156 
Total revenues$9,277 $34,470 $43,582 $108,215 
Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2023.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of September 30, 2023 (in thousands):
Remainder of 2023
20242025
2026 and Thereafter
Total
Product revenue$8,446 $9,590 $140 $500 $18,676 
Research and development revenue660 — — — 660 
Total revenues$9,106 $9,590 $140 $500 $19,336 
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss per Share
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Net Loss per Share Net Loss per Share
Basic net loss per share is computed by dividing the net loss by the weighted-average number of shares of common stock outstanding, less restricted stock awards ("RSAs") subject to forfeiture. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock shares outstanding, less RSAs subject to forfeiture, plus all additional common shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities. For all periods presented, diluted and basic net loss per share, are identical since potential common stock shares are excluded from the calculation, as their effect was anti-dilutive.
Anti-Dilutive Securities
In periods of net loss, the weighted average number of shares outstanding, prior to the application of the treasury stock method, excludes potentially dilutive securities from the computation of diluted net loss per common share because including such shares would have an anti-dilutive effect.
The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Shares issuable under the Equity Incentive Plan8,8736,6048,8736,604
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Investments in Non-Marketable Securities
9 Months Ended
Sep. 30, 2023
Investments, Debt and Equity Securities [Abstract]  
Investments in Non-Marketable Securities Investments in Non-Marketable Securities
Non-Marketable Equity Securities
In March 2023, we purchased an additional 985,545 shares of Series B preferred stock for $0.8 million in Molecular Assemblies, Inc. (“MAI”), a privately held life sciences company. As of September 30, 2023, we held an aggregate of 19,277,914 shares of MAI's Series A and B preferred stock that we have earned or purchased from MAI. See Note 11 “Related Party Transactions” for additional information on our investment in MAI.
In March 2022, we entered into a Stock Purchase Agreement with seqWell, Inc. (“seqWell”), a privately held life sciences company, pursuant to which we purchased 1,000,000 shares of seqWell's Series C preferred stock for $5.0 million. In March 2023, we entered into a Master Collaboration Agreement and Research Agreement with seqWell (the “seqWell Agreement”), pursuant to which we are providing research and experimental screening and protein engineering activities in exchange for compensation in the form of additional shares of seqWell's common stock. In addition to our initial equity investment and the shares we have received under the seqWell Agreement, in September 2023, we purchased an additional 88,256 shares of seqWell's Series C-1 preferred stock and 44,128 common stock warrants for $0.4 million. We received 65,982 and 179,897 shares of seqWell's common stock from research and development services with seqWell and we recognized $69 thousand and $187 thousand in research and development revenue from these services during the three and nine months ended September 30, 2023, respectively.
We own 207,070 shares of Series B-2 preferred stock of Arzeda Corp. (“Arzeda”), an early-stage computational protein design company.
Our non-marketable equity securities are investments in privately held companies without readily determinable market value and primarily relate to our investments in MAI, seqWell and Arzeda. These investments are accounted for under the measurement alternative and are measured at cost minus impairment, if any, plus or minus changes resulting from observable price changes for identical or similar securities of the same issuer. Non-marketable equity securities are measured at fair value on a non-recurring basis and classified within Level 2 in the fair value hierarchy when we estimate the fair value of these investments using the observable transaction price paid by third party investors for the same or similar security of the same issuers. The fair value of non-marketable equity securities are classified within Level 3 when we estimate fair value using unobservable inputs such as when we remeasure due to impairment and we use discount rates, market data of comparable companies, and rights and obligations of the securities the Company holds, among others. We adjust the carrying value of non-marketable equity securities which have been remeasured during the period and recognize resulting gains or losses as a component of other expense, net in the unaudited condensed consolidated statements of operations.
For the three months ended September 30, 2023, we recognized an impairment charge of $3.9 million and included this as adjustment to the carrying value of our investments in seqWell and Arzeda. This adjustment, which is presented within other income (expense), net in the condensed consolidated statements of operations, is related to the write-down of the carrying value of our investments in seqWell by $3.0 million and in Arzeda by $0.9 million to its estimated fair values as determined based on valuation methods using the recent transaction price of similar preferred stock securities issued by the investees and adjusted for the rights and obligations of the preferred stock securities the Company holds. For the three months ended September 30, 2022, we recognized a $0.2 million unrealized gain and included as adjustment to the carrying value of our investment in MAI, for the remeasurement of the additional 1,587,049 shares of Series B preferred stock received as milestone payment during the three months ended September 30, 2022 based on the latest observed transaction price of MAI's preferred stock. There was no remeasurement event for our investments in other non-marketable equity securities that occurred during the three and nine months ended September 30, 2023 and 2022. We recognized no realized gains or losses during the three and nine months ended September 30, 2023 and 2022.
The following table presents the carrying value of our non-marketable equity securities (in thousands):
 September 30, 2023December 31, 2022
MAI
$14,671 $13,921 
seqWell2,598 5,000 
Arzeda444 1,289 
Other investments in non-marketable equity securities300 300 
Total non-marketable equity securities$18,013 $20,510 
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):
 September 30, 2023
 Level 1Level 2Level 3Total
Money market funds $65,585 $— $— $65,585 
 December 31, 2022
 Level 1Level 2Level 3Total
Money market funds $77,309 $— $— $77,309 
During the three and nine months ended September 30, 2023 and 2022, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities.
The investments in non-marketable securities that have been remeasured due to an observable event or impairment are classified within Level 3 in the fair value hierarchy because we estimate the value based on valuation methods which may include a combination of the observable transaction price at the transaction date and other unobservable inputs including rights and obligations of the investments we hold. For additional information, see Note 5, “Investments in Non-Marketable Securities.”
As of September 30, 2023, the Company had classified $0.6 million of laboratory equipment, net of accumulated depreciation, that it intends to sell within the next quarter and that meets the held for sale criteria, to assets held for sale in the condensed consolidated balance sheet. The estimated fair values (Level 2 fair value measurements) were determined based on the quoted proceeds from the sale of these assets less costs to sell. For additional information, see Note 15, “Assets Held For Sale.”
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details
9 Months Ended
Sep. 30, 2023
Balance Sheets Details [Abstract]  
Balance Sheets Details Balance Sheets Details
Cash Equivalents
Cash equivalents as of September 30, 2023 and December 31, 2022, consisted of the following (in thousands):
 September 30, 2023December 31, 2022
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$65,585 $65,585 $77,309 $77,309 
(1) Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets. Average contractual maturities (in days) is not applicable.
As of September 30, 2023, the total cash and cash equivalents balance of $74.6 million consisted of money market funds of $65.6 million and cash of $9.0 million held with major financial institutions. As of December 31, 2022, the total cash and cash equivalents balance of $114.0 million consisted of money market funds of $77.3 million and cash of $36.7 million held with major financial institutions.
Inventories
Inventories consisted of the following (in thousands):
September 30, 2023December 31, 2022
Raw materials$108 $108 
Work-in-process— 91 
Finished goods2,197 1,830 
Total Inventories$2,305 $2,029 
Inventories are recorded net of reserves of $1.4 million as of September 30, 2023 and December 31, 2022.
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
September 30, 2023December 31, 2022
Laboratory equipment$36,376 $39,679 
Leasehold improvements11,750 16,633 
Computer equipment and software3,096 3,039 
Office equipment and furniture1,366 1,345 
Construction in progress1,781 1,739 
Property and equipment54,369 62,435 
Less: accumulated depreciation and amortization(39,087)(39,821)
Property and equipment, net
$15,282 $22,614 
During the three and nine months ended September 30, 2023, the Company recorded a non-cash impairment charge of $4.7 million associated with the San Carlos facility leasehold improvements. For additional information, see Note 10, “Commitments and Contingencies.”
As of September 30, 2023, the Company had classified $2.1 million of laboratory equipment, net of accumulated depreciation, that it intends to sell within the next quarter and that meets the held for sale criteria, to assets held for sale. The Company determined that the carrying value of the assets held for sale exceeds fair value less costs to sell, which resulted in a write-down of $1.5 million, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the quarter ended September 30, 2023. As of September 30, 2023, the Company has presented $0.6 million of assets held for sale in the condensed consolidated balance sheet. For additional information, see Note 15, “Assets Held For Sale.”
Depreciation expense included in both research and development expenses and selling, general and administrative expenses in the unaudited condensed consolidated statements of operations was as follows (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Depreciation expense$1,357 $1,405 $4,302 $3,961 


 Goodwill
Goodwill
Balance at January 1, 2023
$3,241 
Impairment(778)
Balance at September 30, 2023
$2,463 
Goodwill was allocated to each of the Company's reporting units. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics. As a result of this plan, the Company determined that a triggering event had occurred that required an interim goodwill impairment test during the third quarter of 2023. Based on the results of the impairment evaluation, the Company determined that the goodwill within the Novel Biotherapeutics reporting unit was impaired, which resulted in a non-cash impairment charge of $0.8 million to write off all of the associated goodwill. The impairment charge is recorded within the asset impairment and other charges in the condensed consolidated statements of operation for the three and nine months ended September 30, 2023. Goodwill had a carrying value of $2.5 million and $3.2 million as of September 30, 2023 and December 31, 2022, respectively.
Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
September 30, 2023December 31, 2022
Accrued professional and outside service fees$5,149 $3,495 
Accrued purchases 2,644 10,852 
Other1,003 932 
Total other accrued liabilities$8,796 $15,279 
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation
9 Months Ended
Sep. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Stock-based Compensation Stock-based Compensation
Equity Incentive Plans
In January 2023, our board of directors (the “Board”) approved the 2022 Employment Inducement Award Plan (the “2022 Inducement Plan”) which provides for the grant of non-qualified stock options, restricted stock awards (“RSAs”), restricted stock units (“RSUs”), performance awards, other stock awards and dividend equivalents to eligible employees with respect to an aggregate of up to 2,000,000 shares of our common stock. In June 2023, the 2022 Inducement Plan was terminated upon the approval of an amendment to the Company's 2019 Incentive Award Plan (the “2019 Plan”) at the 2023 annual meeting of the Company's stockholders (the “Annual Meeting”).
In 2019, the Board and stockholders approved the 2019 Plan. The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder. The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, RSUs, RSAs, PSUs, PBOs, stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants. The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, RSA, RSUs, performance-contingent restricted stock units (“PSUs”), performance based options (“PBOs”), other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.
The number of shares of our common stock that were initially available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited. In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”). In April 2023, the Board approved an amendment to the 2019 Plan (the “2019 Amended Plan”) which became effective upon stockholders' approval at the Annual Meeting in June 2023. The 2019 Amended Plan included the (i) increase in the number of shares available by 8,000,000 shares, such that an aggregate of 15,897,144 shares are reserved for issuance under the 2019 Amended Plan and any shares subject to awards granted under the 2010 Plan, and (ii) increase in the number of shares that may be granted as incentive stock options under the 2019 Amended Plan such that an aggregate of 22,000,000 shares of common stock may be granted as incentive stock options under the 2019 Amended Plan.
Employee Stock Purchase Plan
In April 2023, the Board approved an employee stock purchase plan (the “ESPP”) which became effective upon approval at the Annual Meeting in June 2023 of the Company's stockholders. The ESPP allows eligible employees of the Company to purchase shares of our common stock through payroll deductions over 24-month offering periods. The per share purchase price will be the lower of 85% of the closing trading price per share of our common stock on the first trading date of an offering period in which a participant is enrolled or 85% of the closing trading price per share on the purchase date. Participant purchases are limited to a maximum of $25,000 of fair value of our stock per calendar year. The Company is authorized to grant up to 2,000,000 shares of common stock under the ESPP. As of September 30, 2023, the Company had not issued any shares of common stock nor recognized any stock-based compensation expenses related to the ESPP.
Stock Options
The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is at least 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of ten years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.
Restricted Stock Units ("RSUs")
We also grant employees RSUs, which generally vest over either a three year period with 33% of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.
Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")
In prior years, the compensation committee of the Board approved grants of PBOs and PSUs to our executives, and solely in respect of non-executive employees, delegated to our CEO the authority to approve grants of PSUs. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement, as determined by the compensation committee of the Board, and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs.
No PSUs and PBOs were granted during the nine months ended September 30, 2023. In 2022, we awarded PSUs ("2022 PSUs") and PBOs ("2022 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including finance and corporate strategy, performance enzymes and biotherapeutics deliverables, research plans, and organizational development. In the first quarter of 2023, the compensation committee of the Board determined that the 2022 PSUs and 2022 PBOs performance goals had been achieved at 85% and 42.5% of the target level, respectively, and recognized stock-based compensation expenses accordingly. Accordingly, 50% of the shares underlying the 2022 PSUs and PBOs vested in the first quarter of 2023 and 50% of the shares underlying the 2022 PSUs and PBOs will vest in the first quarter of 2024, in each case, subject to the recipient’s continued service on each vesting date.
In 2021, we awarded PSUs ("2021 PSUs") and PBOs ("2021 PBOs"), each of which commence vesting based upon the determination by the compensation committee of the Board of the achievement of various weighted performance goals, including total revenues, product revenue, performance enzymes pipeline advancements, biotherapeutics pipeline advancements, organization and infrastructure upgrades, and significant events that can be publicly announced. In the first quarter of 2022, we determined that the 2021 PSUs and 2021 PBOs performance goals had been achieved at 146% and 73% of the target level, respectively, and recognized stock-based compensation expenses accordingly. Accordingly, 50% of the shares underlying the 2021 PSUs and PBOs vested in the first quarter of 2022 and 50% of the shares underlying the 2021 PSUs and PBOs vested in the first quarter of 2023, in each case, subject to the recipient’s continued service on each vesting date.
Stock-Based Compensation Expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Cost of product revenue$60 $124 $272 $367 
Research and development 450 1,045 1,978 3,110 
Selling, general and administrative1,773 3,362 5,558 8,123 
Total$2,283 $4,531 $7,808 $11,600 
The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Stock options$1,017 $1,679 $3,035 $3,279 
RSUs and RSAs942 1,290 3,441 3,785 
PSUs292 965 1,408 2,279 
PBOs32 597 (76)2,257 
Total$2,283 $4,531 $7,808 $11,600 
As of September 30, 2023, unrecognized stock-based compensation expense, net of expected forfeitures, was $9.4 million related to unvested stock options, $6.0 million related to unvested RSUs and RSAs, $0.5 million related to unvested PSUs, and $0.1 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through 2027.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Capital Stock
9 Months Ended
Sep. 30, 2023
Equity [Abstract]  
Capital Stock Capital Stock
Exercise of Options
For the nine months ended September 30, 2023 and September 30, 2022, we issued 214,284 and 252,100 shares, respectively, upon option exercises at a weighted-average exercise price of $1.97 and $2.43 per share, respectively, with net cash proceeds of $0.4 million and $0.6 million, respectively.
Equity Distribution Agreement
In May 2021, we filed a Registration Statement on Form S-3 with the SEC, that automatically became effective upon its filing, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contracts, and units from time to time in one or more offerings. On February 27, 2023, we filed a post-effective amendment to that Registration on Form S-3. Pursuant to that post-effective amendment, we registered an aggregate $200.0 million of securities. In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler & Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. Under the terms of the EDA, PSC may sell the shares at market prices by any method that is deemed to be an "at the market offering" as defined in Rule 415 under the Securities Act.
We are not required to sell any shares at any time during the term of the EDA. The EDA will terminate upon the earlier of: (i) the issuance and sale of all shares through PSC on the terms and conditions of the EDA, or (ii) the termination of the EDA in accordance with its terms. Either party may terminate the EDA at any time upon written notification to the other party in accordance with the EDA, and upon such notification, the offering will terminate. Under no circumstances shall any shares be sold pursuant to the EDA after the date which is three years after the registration statement is first declared effective by the SEC. We agreed to pay PSC a commission of 3% of the gross sales price of any shares sold pursuant to the EDA. With the exception of certain expenses, we will pay PSC up to 8% of the gross sales price of the shares sold pursuant to the EDA for a combined amount of commission and reimbursement of PSC's expenses and fees.
No shares of our common stock were issued and sold under the EDA during the three months ended September 30, 2023. During the nine months ended September 30, 2023, 3,079,421 shares of our common stock were issued and sold pursuant to the EDA. During the nine months ended September 30, 2023, we received gross proceeds of $8.7 million or $7.9 million in net proceeds after PSC's commissions and direct offering expenses of $0.7 million. As of September 30, 2023, $41.3 million of shares remained available for sale under the EDA. During the three and nine months ended September 30, 2022, no shares of our common stock were issued pursuant to the EDA.
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Operating Leases
Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in multiple buildings within the same business park operated by Metropolitan Life Insurance Company ("MetLife"). Our lease agreement with MetLife ("RWC Lease") includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “200/220 Penobscot Space”) and approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “400 Penobscot Space”) (the 200/220 Penobscot Space and the 400 Penobscot Space are collectively referred to as the “Penobscot Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”).
We entered into the initial lease with MetLife for our facilities in Redwood City in 2004 and the RWC Lease has been amended multiple times since then to adjust the leased space and terms of the Lease. In February 2019, we entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife with respect to the Penobscot Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have one (1) option to extend the term of the lease for the Penobscot Space for five (5) years, and one (1) separate option to extend the term of the lease for the 501 Chesapeake Space for five (5) years.
Pursuant to the terms of the RWC Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of September 30, 2023 and December 31, 2022, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.
In January 2021, we entered into a lease agreement with ARE-San Francisco No. 63, LLC ("ARE") to lease a portion of a facility consisting of approximately 36,593 rentable square feet in San Carlos, California to serve as additional office and research and development laboratory space (the "San Carlos Space"). The lease has a 10-year term from the lease commencement date of November 30, 2021 with one option to extend the term for an additional period of 5 years.
In July 2023, we announced our plan to consolidate operations from our San Carlos facility to our headquarters in Redwood City. On September 1, 2023, the Company entered into an Assignment and Assumption of Lease (the “Assignment Agreement”) with Vaxcyte, Inc. (“Vaxcyte”), pursuant to which the Company agreed to assign to Vaxcyte, and Vaxcyte agreed to assume from the Company, all of the Company’s right, title and interest in, under and to the San Carlos Space and the Lease Agreement, dated as of January 29, 2021. On September 6, 2023, the Company, Vaxcyte and ARE entered into a Consent to Assignment and First Amendment (the “Consent”) pursuant to which ARE consented to the Assignment Agreement and the assignment by the Company and the assumption by Vaxcyte of the Company’s interest as tenant in the lease and agreed to release the Company from all of its obligations under the lease that accrue from and after the assignment, and following the assignment, to return the Company's security deposit of approximately $0.5 million provided to ARE in the form of a letter of credit. Under the Assignment Agreement, the Company will prepay to ARE (i) the base rent, as defined in the lease agreement, with respect to the three-month period commencing on the date of the assignment and (ii) certain amounts payable to ARE in connection with tenant improvements completed by ARE pursuant to the lease, which amounted to $3.1 million. In connection with the Consent, ARE agreed that neither the Company nor Vaxcyte will be required to remove any existing alterations or improvements to the San Carlos Space. The effective date of the assignment was October 1, 2023, which under the terms of the Assignment Agreement was the earlier of (i) the date Vaxcyte occupies the San Carlos Space for the operation of business or (ii) the date the Company vacated and decommissioned the San Carlos Space and certain other customary conditions were satisfied. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit which we expected to be released in the fourth quarter of 2023 following the effectiveness of the lease assignment in October 1, 2023 and which is recorded as current restricted cash on the condensed consolidated balance sheet.
As a result of the Assignment Agreement, the Company remeasured the lease obligation for the San Carlos Space as $3.1 million, or the present value of the remaining lease payments, which consist of the remaining rent through the effectiveness of the lease assignment and certain amounts payable to ARE pursuant to the Assignment Agreement, and wrote off the remaining lease liability of $19.6 million and the corresponding right of use asset balance. Simultaneously, the Company determined that indicators of impairment existed because the lease assignment will impact the utilization of the related right of use assets and leasehold improvements in the San Carlos Space, and therefore performed a recoverability test by estimating future undiscounted net cash flows expected to be generated from the use of these assets. As there were no substantial future cash inflows associated with these assets, the carrying values of these assets were deemed unrecoverable. As a result, the Company recognized a non-cash impairment charge of $7.7 million, of which $4.7 million is related to leasehold improvements and $3.0 million for the right of use assets, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the three and nine months ended September 30, 2023.
The tables below tables below show the balance of right-of-use assets and lease obligations as of January 1, 2023 and the balance as of September 30, 2023, including the changes during the period (in thousands):
Right-of-use Assets - Operating Lease, net
Right-of-use assets - Operating leases, net, at January 1, 2023
$39,263 
Amortization of right-of-use assets
(3,647)
Additions
898 
Remeasurement due to lease modification
(19,622)
Impairment
(2,997)
Right-of-use assets - Operating leases, net, at September 30, 2023
$13,895 

Lease Obligations - Operating Leases
Lease obligations - Operating leases, net, at January 1, 2023
$43,638 
Lease payments
(5,668)
Interest accretion
1,631 
Remeasurement due to lease modification
(19,622)
Lease obligations - Operating leases, net, at September 30, 2023
$19,979 
We are required to restore certain areas of the Redwood City facility that we are renting to its original form. We are expensing the asset retirement obligation over the term of the Redwood City lease. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.3 million and $0.5 million as of September 30, 2023 and December 31, 2022, respectively, which are included in other liabilities on the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal in the three and nine months ended September 30, 2023 and 2022.
Lease and other information
Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Finance lease costs$— $— $— $18 
Operating lease costs1,618 1,831 5,278 5,491 
Short-term lease costs (1)
— — — 40 
Total lease costs (2)
$1,618 $1,831 $5,278 $5,549 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
(2) The Company had no variable lease costs.
Other information:Operating Leases
Weighted-average remaining lease term (in years)3.4 years
Weighted-average discount rate6.7 %
Nine Months Ended September 30,
Cash paid (in thousands):
20232022
Operating cash flows from operating leases$5,668 $4,658 
As of September 30, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases were as follows (in thousands):
Years Ending December 31,Operating Leases
2023 (remaining 3 months)$4,229 
20244,727 
20254,868 
20265,014 
20272,533 
Thereafter1,078 
Total minimum lease payments22,449 
Less: imputed interest2,470 
Lease obligations$19,979 
Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:
Current portion of lease obligations - Operating leases$6,764 
Long-term lease obligations - Operating leases13,215 
Total operating lease liabilities$19,979 
Other Commitments
We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Payments Due by Period
Total2023 (Remaining 3 Months)2024 and Thereafter
Facility maintenance agreement$1,084 $1,039 $45 
Credit Facility
In June 30, 2017, we entered into a credit facility (the “Credit Facility”) with Western Alliance Bank consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. The right to take draws on the Term Debt expired on December 31, 2022. In March 2023, we terminated the Credit Facility with Western Alliance Bank.
Legal Proceedings
We may be involved in legal actions in the ordinary course of business, including inquiries and proceedings concerning business practices and intellectual property infringement, employee relations and other claims. We will recognize a loss contingency in the unaudited condensed consolidated financial statements when it is probable a liability has been incurred and the amount of the loss can be reasonably estimated. We will disclose any loss contingencies that do not meet both conditions if there is a reasonable possibility that a material loss may have been incurred. Gain contingencies are not recorded until they are realized.
Indemnifications
We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Related Party Transactions
9 Months Ended
Sep. 30, 2023
Related Party Transactions [Abstract]  
Related Party Transactions Related Party Transactions
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with MAI, a privately held life sciences company, pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. Mr. Nicols, our former President and CEO until August 2022, also joined MAI’s board of directors in June 2020. Concurrently with our initial equity investment, we entered into a Master Collaboration and Research Agreement with MAI (the “MAI Agreement”), pursuant to which performed services utilizing our CodeEvolver® protein engineering platform technology to improve DNA polymerase enzymes in exchange for compensation in the form of additional shares of MAI's Series A and B preferred stock which are valued based on the observed transaction price of similar securities that MAI issued to third parties. We completed the R&D service with MAI pursuant to the MAI Agreement during the first quarter of 2022. In addition to our initial equity investment and the shares we have received under the MAI Agreement, in April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million and in September 2021, we purchased 9,198,423 shares of MAI's Series B preferred stock for $7.0 million.
Revenues recognized from transactions with MAI in the three and nine months ended September 30, 2023, and subsequent to the related party period which ended in August 2022, are included in the condensed consolidated statement of operations. We recognized $1.0 million and $1.2 million in research and development revenue from transactions with MAI in the three and nine months ended September 30, 2022, respectively, and we recognized $0.2 million and $0.4 million in product revenue from transactions with MAI in the three and nine months ended September 30, 2022, respectively, during the related party period.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information
9 Months Ended
Sep. 30, 2023
Segment Reporting [Abstract]  
Segment, Geographical and Other Revenue Information Segment, Geographical and Other Revenue Information
Segment Information
As of September 30, 2023, we managed our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. All of our long lived assets are located in the United States.
Factors considered in historically determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
The following table provides financial information by our reportable business segments along with a reconciliation to consolidated loss before income taxes (in thousands):
Three Months Ended September 30, 2023Three Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$5,395 $— $5,395 $28,042 $— $28,042 
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 
Total revenues8,710 567 9,277 31,146 3,324 34,470 
Costs and operating expenses:
Cost of product revenue2,249 — 2,249 9,786 — 9,786 
Research and development (1)
8,146 4,377 12,523 6,782 13,855 20,637 
Selling, general and administrative (1)
1,748 386 2,134 3,791 888 4,679 
Restructuring charges1,182 1,217 2,399 — — — 
Asset impairment and other charges (2)
— 778 778 — — — 
Total segment costs and operating expenses13,325 6,758 20,083 20,359 14,743 35,102 
Income (loss) from operations$(4,615)$(6,191)(10,806)$10,787 $(11,419)(632)
Corporate costs (3)
(22,736)(7,947)
Unallocated depreciation and amortization(1,357)(1,405)
Loss before income taxes$(34,899)$(9,984)
Nine Months Ended September 30, 2023Nine Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$24,807 $— $24,807 $93,376 $— $93,376 
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 
Total revenues37,503 6,079 43,582 100,774 7,441 108,215 
Costs and operating expenses:
Cost of product revenue9,947 — 9,947 29,577 — 29,577 
Research and development (1)
24,100 19,929 44,029 19,833 37,279 57,112 
Selling, general and administrative (1)
6,578 1,528 8,106 11,208 2,288 13,496 
Restructuring charges1,182 1,362 2,544 — — — 
Asset impairment and other charges (2)
— 778 778 — — — 
Total segment costs and operating expenses41,807 23,597 65,404 60,618 39,567 100,185 
Income (loss) from operations$(4,304)$(17,518)(21,822)$40,156 $(32,126)8,030 
Corporate costs (3)
(42,890)(24,940)
Unallocated depreciation and amortization(4,302)(3,953)
Loss before income taxes$(69,014)$(20,863)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Impairment charge of $0.8 million is related to the goodwill allocated to the Novel Biotherapeutics segment.
(3) Corporate costs include unallocated selling, general and administrative expenses, unallocated asset impairment and restructuring charges, interest income, and other income (expense), net.
The following table provides stock-based compensation expense included in loss from operations (in thousands):
Three Months Ended September 30,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$903 $(235)$1,615 $2,283 $1,593 $414 $2,524 $4,531 
Nine Months Ended September 30,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,861 $98 $4,849 $7,808 $4,776 $1,182 $5,642 $11,600 

Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Customer A
20 %***
Customer B
*39 %15 %54 %
Customer C
*13 %**
Customer D
**10 %*
Customer E
**10 %*
* Percentage was less than 10%
Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
September 30, 2023December 31, 2022
Customer B
*53 %
Customer D
15 %*
Customer E
*10 %
Customer F
38 %*
Customer G
17 %*
* Percentage was less than 10%
Geographical Information
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Revenues
Americas$4,278 $4,822 $10,798 $12,167 
EMEA3,191 5,987 14,630 14,805 
APAC1,808 23,661 18,154 81,243 
Total revenues$9,277 $34,470 $43,582 $108,215 
Identifiable long-lived assets by location was as follows (in thousands):
September 30, 2023December 31, 2022
United States$29,177 $61,877 
Identifiable goodwill by reporting unit was as follows (in thousands):
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill at January 1, 2023
$2,463 $778 $3,241 
Impairment
— (778)(778)
Goodwill at September 30, 2023
$2,463 $— $2,463 
For additional information on the goodwill impairment, see Note 7, “Balance Sheet Details.”
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Allowance for Credit Losses
9 Months Ended
Sep. 30, 2023
Receivables [Abstract]  
Allowance for Credit Losses Allowance for Credit Losses
The following table summarizes the financial assets allowance for credit losses (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Balance at beginning of period$133 $109 $163 $416 
Provision for credit losses— — — — 
Write-offs— — (30)(257)
Adjustment to the existing allowance— — — (50)
Balance at end of period$133 $109 $133 $109 
The following tables summarize accounts receivable by aging category (in thousands):
September 30, 2023
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$6,835 $4,690 $22 $82 $4,794 $11,629 
December 31, 2022
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$28,896 $1,747 $469 $792 $3,008 $31,904 
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Restructuring Charges
9 Months Ended
Sep. 30, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring Charges
In July 2023, in alignment with our enhanced strategic focus, we announced a restructuring of our business, including a plan for a workforce reduction of approximately 25%. During the three and nine months ended September 30, 2023, we recorded a restructuring charge of $3.1 million related to severance and related benefit costs. As of September 30, 2023, we have accrued $1.9 million as a current liability within accrued compensation on our condensed consolidated balance sheets, which is expected to be paid in the fourth quarter of 2023. We do not expect to record any significant future charges related to the restructuring plan.
In November 2022, we announced a plan for a workforce reduction of approximately 18% to realign and optimize our workforce requirements in alignment with our refined corporate strategy. The plan was substantially completed in December 2022 and severance costs were paid through the third quarter of 2023. During the three and nine months ended September 30, 2023, we recorded additional restructuring charges of nil and $0.2 million, respectively, related to severance, bonus and other termination benefits in connection with the workforce reduction announced in November 2022. We do not expect to record any future charges related to the restructuring plan initiated in 2022.
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Assets Held For Sale
9 Months Ended
Sep. 30, 2023
Discontinued Operations and Disposal Groups [Abstract]  
Assets Held For Sale Assets Held For SaleIn July 2023, we announced our plan to consolidate operations from our San Carlos facility to our headquarters in Redwood City. As part of this plan, we entered into agreements to sell certain laboratory equipment located in our San Carlos facility through an asset auction and as part of the lease assignment of the San Carlos Space to Vaxcyte (see further discussion at Note 10, “Commitments and Contingencies”). The fixed assets that will be sold as part of this transaction met the assets held for sale criteria and were reclassified to assets held for sale as of September 30, 2023. The Company determined that the carrying value of the assets held for sale exceeds fair value less costs to sell, which resulted in a write-down of $1.5 million, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the quarter ended September 30, 2023. As of September 30, 2023, the Company has presented $0.6 million of fixed assets expected to be sold during the fourth quarter of 2023 as a current asset under the caption of “assets held for sale” in the accompanying condensed consolidated balance sheets.
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Pay vs Performance Disclosure        
Net loss $ (34,908) $ (9,992) $ (69,048) $ (20,988)
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.23.3
Insider Trading Arrangements
3 Months Ended
Sep. 30, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation and Principles of Consolidation
Basis of Presentation and Principles of Consolidation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2022. 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 disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2022 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2022.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2023, results of our operations for the three and nine months ended September 30, 2023 and 2022, changes in stockholders' equity for the three and nine months ended September 30, 2023 and 2022, and cash flows for the nine months ended September 30, 2023 and 2022. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.
The unaudited condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, deferred revenue, inventories, valuation of equity investments, valuation of assets held for sale, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.
Accounting Pronouncements
Accounting Pronouncements
Recently adopted accounting pronouncements or recently issued accounting pronouncements not yet adopted
There were no recent accounting pronouncements or changes in accounting pronouncements during the three and nine months ended September 30, 2023, that are of significance or potential significance to us.
Segment Information
Segment Information
As of September 30, 2023, we managed our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. All of our long lived assets are located in the United States.
Factors considered in historically determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
Impairment of Long-Lived Assets
Impairment of Long-Lived Assets
We evaluate the carrying values of long-lived assets, which include property and equipment and right-of-use assets, whenever events, changes in business circumstances or our planned use of long-lived assets indicate that their carrying amounts may not be fully recoverable or that their useful lives are no longer appropriate. If these facts and circumstances exist, we assess for recovery by comparing the carrying values of long-lived assets with the future net undiscounted cash flows expected to be generated by the asset. If such assets are considered to be impaired, the impairment to be recognized is measure by the amount by which the carrying amount of the asset exceeds the fair value of the asset. For additional information on the impairment charge recorded in the three and nine months ended September 30, 2023, see Note 7, “Balance Sheets Details” and Note 10, “Commitments and Contingencies.”
Assets Held For Sale
Assets Held For Sale
The Company classifies assets as held for sale when the following conditions are met: (i) management has committed to a plan to sell, (ii) the assets are available for immediate sale in their present condition, (iii) the Company has initiated an active program to identify a buyer, (iv) it is probable that a sale will occur within one year, (v) the assets are actively marketed for sale at a reasonable price in relation to their current fair value, and (vi) there is a low likelihood of significant changes to the plan or that the plan will be withdrawn. If all of the criteria are met as of the balance sheet date, the assets are presented separately in the consolidated balance sheet as held for sale at the lower of the carrying amount or fair value less costs to sell. The assets are then no longer depreciated or amortized while classified as held for sale. For additional information, see Note 15, “Assets Held For Sale.”
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition (Tables)
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue Segment information is as follows (in thousands):
Three Months Ended September 30, 2023Three Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$5,395 $— $5,395 $28,042 $— $28,042 
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 
Primary geographical markets:
Americas$4,278 $— $4,278 $3,654 $1,168 $4,822 
EMEA2,624 567 3,191 3,831 2,156 5,987 
APAC1,808 — 1,808 23,661 — 23,661 
Total revenues$8,710 $567 $9,277 $31,146 $3,324 $34,470 
Nine Months Ended September 30, 2023Nine Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$24,807 $— $24,807 $93,376 $— $93,376 
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 
Primary geographical markets:
Americas$8,865 $1,933 $10,798 $8,514 $3,653 $12,167 
EMEA10,484 4,146 14,630 11,017 3,788 14,805 
APAC18,154 — 18,154 81,243 — 81,243 
Total revenues$37,503 $6,079 $43,582 $100,774 $7,441 $108,215 
Contract with Customer The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
September 30, 2023December 31, 2022
Contract assets$1,936 $2,116 
Unbilled receivables$5,661 $7,016 
Contract costs$— $19 
Contract liabilities: deferred revenue$19,336 $30,609 
We recognized the following revenues (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
Revenue recognized in the period for:2023202220232022
Amounts included in contract liabilities at the beginning of the period:
Performance obligations satisfied$1,303 $889 $9,111 $1,694 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods1,018 495 4,238 365 
Performance obligations satisfied from new activities in the period - contract revenue6,956 33,086 30,233 106,156 
Total revenues$9,277 $34,470 $43,582 $108,215 
Performance Obligation, Expected Timing of Satisfaction The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2023.The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of September 30, 2023 (in thousands):
Remainder of 2023
20242025
2026 and Thereafter
Total
Product revenue$8,446 $9,590 $140 $500 $18,676 
Research and development revenue660 — — — 660 
Total revenues$9,106 $9,590 $140 $500 $19,336 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss per Share (Tables)
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Shares Not Included in Computation of Diluted Net Loss Per Share The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Shares issuable under the Equity Incentive Plan8,8736,6048,8736,604
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Investments in Non-Marketable Securities (Tables)
9 Months Ended
Sep. 30, 2023
Investments, Debt and Equity Securities [Abstract]  
Carrying Value of Non-marketable Equity Securities The following table presents the carrying value of our non-marketable equity securities (in thousands):
 September 30, 2023December 31, 2022
MAI
$14,671 $13,921 
seqWell2,598 5,000 
Arzeda444 1,289 
Other investments in non-marketable equity securities300 300 
Total non-marketable equity securities$18,013 $20,510 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Summary of Financial Instruments Measured at Fair Value on a Recurring Basis
The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):
 September 30, 2023
 Level 1Level 2Level 3Total
Money market funds $65,585 $— $— $65,585 
 December 31, 2022
 Level 1Level 2Level 3Total
Money market funds $77,309 $— $— $77,309 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details (Tables)
9 Months Ended
Sep. 30, 2023
Balance Sheets Details [Abstract]  
Schedule of Cash and Cash Equivalents
Cash equivalents as of September 30, 2023 and December 31, 2022, consisted of the following (in thousands):
 September 30, 2023December 31, 2022
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$65,585 $65,585 $77,309 $77,309 
(1) Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets. Average contractual maturities (in days) is not applicable.
Schedule of Inventory Components Inventories consisted of the following (in thousands):
September 30, 2023December 31, 2022
Raw materials$108 $108 
Work-in-process— 91 
Finished goods2,197 1,830 
Total Inventories$2,305 $2,029 
Schedule of Property and Equipment, Net Property and equipment, net consisted of the following (in thousands):
September 30, 2023December 31, 2022
Laboratory equipment$36,376 $39,679 
Leasehold improvements11,750 16,633 
Computer equipment and software3,096 3,039 
Office equipment and furniture1,366 1,345 
Construction in progress1,781 1,739 
Property and equipment54,369 62,435 
Less: accumulated depreciation and amortization(39,087)(39,821)
Property and equipment, net
$15,282 $22,614 
Depreciation expense included in both research and development expenses and selling, general and administrative expenses in the unaudited condensed consolidated statements of operations was as follows (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Depreciation expense$1,357 $1,405 $4,302 $3,961 
Schedule of Goodwill
 Goodwill
Goodwill
Balance at January 1, 2023
$3,241 
Impairment(778)
Balance at September 30, 2023
$2,463 
Schedule of Other Accrued Liabilities Other accrued liabilities consisted of the following (in thousands):
September 30, 2023December 31, 2022
Accrued professional and outside service fees$5,149 $3,495 
Accrued purchases 2,644 10,852 
Other1,003 932 
Total other accrued liabilities$8,796 $15,279 
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation (Tables)
9 Months Ended
Sep. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Schedule of Stock-based Compensation Expense Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Cost of product revenue$60 $124 $272 $367 
Research and development 450 1,045 1,978 3,110 
Selling, general and administrative1,773 3,362 5,558 8,123 
Total$2,283 $4,531 $7,808 $11,600 
Schedule of Stock-based Compensation Expense by Security Types The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Stock options$1,017 $1,679 $3,035 $3,279 
RSUs and RSAs942 1,290 3,441 3,785 
PSUs292 965 1,408 2,279 
PBOs32 597 (76)2,257 
Total$2,283 $4,531 $7,808 $11,600 
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Schedule of Right-of-use Assets and Lease Obligations
The tables below tables below show the balance of right-of-use assets and lease obligations as of January 1, 2023 and the balance as of September 30, 2023, including the changes during the period (in thousands):
Right-of-use Assets - Operating Lease, net
Right-of-use assets - Operating leases, net, at January 1, 2023
$39,263 
Amortization of right-of-use assets
(3,647)
Additions
898 
Remeasurement due to lease modification
(19,622)
Impairment
(2,997)
Right-of-use assets - Operating leases, net, at September 30, 2023
$13,895 

Lease Obligations - Operating Leases
Lease obligations - Operating leases, net, at January 1, 2023
$43,638 
Lease payments
(5,668)
Interest accretion
1,631 
Remeasurement due to lease modification
(19,622)
Lease obligations - Operating leases, net, at September 30, 2023
$19,979 
Lease Cost
Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
 2023202220232022
Finance lease costs$— $— $— $18 
Operating lease costs1,618 1,831 5,278 5,491 
Short-term lease costs (1)
— — — 40 
Total lease costs (2)
$1,618 $1,831 $5,278 $5,549 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
(2) The Company had no variable lease costs.
Other information:Operating Leases
Weighted-average remaining lease term (in years)3.4 years
Weighted-average discount rate6.7 %
Nine Months Ended September 30,
Cash paid (in thousands):
20232022
Operating cash flows from operating leases$5,668 $4,658 
Operating Lease Maturity As of September 30, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases were as follows (in thousands):
Years Ending December 31,Operating Leases
2023 (remaining 3 months)$4,229 
20244,727 
20254,868 
20265,014 
20272,533 
Thereafter1,078 
Total minimum lease payments22,449 
Less: imputed interest2,470 
Lease obligations$19,979 
Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:
Current portion of lease obligations - Operating leases$6,764 
Long-term lease obligations - Operating leases13,215 
Total operating lease liabilities$19,979 
Schedule of Supply and Service Commitments The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Payments Due by Period
Total2023 (Remaining 3 Months)2024 and Thereafter
Facility maintenance agreement$1,084 $1,039 $45 
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information (Tables)
9 Months Ended
Sep. 30, 2023
Segment Reporting [Abstract]  
Schedule of Segment Reporting
The following table provides financial information by our reportable business segments along with a reconciliation to consolidated loss before income taxes (in thousands):
Three Months Ended September 30, 2023Three Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$5,395 $— $5,395 $28,042 $— $28,042 
Research and development revenue3,315 567 3,882 3,104 3,324 6,428 
Total revenues8,710 567 9,277 31,146 3,324 34,470 
Costs and operating expenses:
Cost of product revenue2,249 — 2,249 9,786 — 9,786 
Research and development (1)
8,146 4,377 12,523 6,782 13,855 20,637 
Selling, general and administrative (1)
1,748 386 2,134 3,791 888 4,679 
Restructuring charges1,182 1,217 2,399 — — — 
Asset impairment and other charges (2)
— 778 778 — — — 
Total segment costs and operating expenses13,325 6,758 20,083 20,359 14,743 35,102 
Income (loss) from operations$(4,615)$(6,191)(10,806)$10,787 $(11,419)(632)
Corporate costs (3)
(22,736)(7,947)
Unallocated depreciation and amortization(1,357)(1,405)
Loss before income taxes$(34,899)$(9,984)
Nine Months Ended September 30, 2023Nine Months Ended September 30, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$24,807 $— $24,807 $93,376 $— $93,376 
Research and development revenue12,696 6,079 18,775 7,398 7,441 14,839 
Total revenues37,503 6,079 43,582 100,774 7,441 108,215 
Costs and operating expenses:
Cost of product revenue9,947 — 9,947 29,577 — 29,577 
Research and development (1)
24,100 19,929 44,029 19,833 37,279 57,112 
Selling, general and administrative (1)
6,578 1,528 8,106 11,208 2,288 13,496 
Restructuring charges1,182 1,362 2,544 — — — 
Asset impairment and other charges (2)
— 778 778 — — — 
Total segment costs and operating expenses41,807 23,597 65,404 60,618 39,567 100,185 
Income (loss) from operations$(4,304)$(17,518)(21,822)$40,156 $(32,126)8,030 
Corporate costs (3)
(42,890)(24,940)
Unallocated depreciation and amortization(4,302)(3,953)
Loss before income taxes$(69,014)$(20,863)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Impairment charge of $0.8 million is related to the goodwill allocated to the Novel Biotherapeutics segment.
(3) Corporate costs include unallocated selling, general and administrative expenses, unallocated asset impairment and restructuring charges, interest income, and other income (expense), net.
The following table provides stock-based compensation expense included in loss from operations (in thousands):
Three Months Ended September 30,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$903 $(235)$1,615 $2,283 $1,593 $414 $2,524 $4,531 
Nine Months Ended September 30,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,861 $98 $4,849 $7,808 $4,776 $1,182 $5,642 $11,600 
Schedule of Customers that Contributed 10% or More of Total Accounts Receivable
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Customer A
20 %***
Customer B
*39 %15 %54 %
Customer C
*13 %**
Customer D
**10 %*
Customer E
**10 %*
* Percentage was less than 10%
Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
September 30, 2023December 31, 2022
Customer B
*53 %
Customer D
15 %*
Customer E
*10 %
Customer F
38 %*
Customer G
17 %*
* Percentage was less than 10%
Schedule of Revenues by Geographical Area Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Revenues
Americas$4,278 $4,822 $10,798 $12,167 
EMEA3,191 5,987 14,630 14,805 
APAC1,808 23,661 18,154 81,243 
Total revenues$9,277 $34,470 $43,582 $108,215 
Schedule of Long-Lived Assets by Geographical Area Identifiable long-lived assets by location was as follows (in thousands):
September 30, 2023December 31, 2022
United States$29,177 $61,877 
Schedule of Intangible Assets and Goodwill Identifiable goodwill by reporting unit was as follows (in thousands):
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill at January 1, 2023
$2,463 $778 $3,241 
Impairment
— (778)(778)
Goodwill at September 30, 2023
$2,463 $— $2,463 
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.23.3
Allowance for Credit Losses (Tables)
9 Months Ended
Sep. 30, 2023
Receivables [Abstract]  
Analysis of Allowance for Credit Losses The following table summarizes the financial assets allowance for credit losses (in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
2023202220232022
Balance at beginning of period$133 $109 $163 $416 
Provision for credit losses— — — — 
Write-offs— — (30)(257)
Adjustment to the existing allowance— — — (50)
Balance at end of period$133 $109 $133 $109 
Summary of Accounts Receivable by Aging
The following tables summarize accounts receivable by aging category (in thousands):
September 30, 2023
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$6,835 $4,690 $22 $82 $4,794 $11,629 
December 31, 2022
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$28,896 $1,747 $469 $792 $3,008 $31,904 
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.23.3
Description of Business (Details)
9 Months Ended
Sep. 30, 2023
segment
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Number of reportable segments 2
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Disaggregation of Revenue [Line Items]        
Total revenues $ 9,277 $ 34,470 $ 43,582 $ 108,215
Americas        
Disaggregation of Revenue [Line Items]        
Total revenues 4,278 4,822 10,798 12,167
EMEA        
Disaggregation of Revenue [Line Items]        
Total revenues 3,191 5,987 14,630 14,805
APAC        
Disaggregation of Revenue [Line Items]        
Total revenues 1,808 23,661 18,154 81,243
Product revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 5,395 28,042 24,807 93,376
Research and development revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 3,882 6,428 18,775 14,839
Performance Enzymes        
Disaggregation of Revenue [Line Items]        
Total revenues 8,710 31,146 37,503 100,774
Performance Enzymes | Americas        
Disaggregation of Revenue [Line Items]        
Total revenues 4,278 3,654 8,865 8,514
Performance Enzymes | EMEA        
Disaggregation of Revenue [Line Items]        
Total revenues 2,624 3,831 10,484 11,017
Performance Enzymes | APAC        
Disaggregation of Revenue [Line Items]        
Total revenues 1,808 23,661 18,154 81,243
Novel Biotherapeutics        
Disaggregation of Revenue [Line Items]        
Total revenues 567 3,324 6,079 7,441
Novel Biotherapeutics | Americas        
Disaggregation of Revenue [Line Items]        
Total revenues 0 1,168 1,933 3,653
Novel Biotherapeutics | EMEA        
Disaggregation of Revenue [Line Items]        
Total revenues 567 2,156 4,146 3,788
Novel Biotherapeutics | APAC        
Disaggregation of Revenue [Line Items]        
Total revenues $ 0 $ 0 $ 0 $ 0
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition - Contracts with Customer (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]    
Contract assets $ 1,936 $ 2,116
Unbilled receivables 5,661 7,016
Contract costs 0 19
Contract liabilities: deferred revenue $ 19,336 $ 30,609
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition - Narrative (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenue from Contract with Customer [Abstract]          
Impairment charges related to contract assets $ 0   $ 0 $ 0 $ 0
Contract with customer, liability, release, early termination of obligation   $ 2,900,000      
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition - Revenue Recognized During Period (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Amounts included in contract liabilities at the beginning of the period:        
Performance obligations satisfied $ 1,303 $ 889 $ 9,111 $ 1,694
Changes in the period:        
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods 1,018 495 4,238 365
Performance obligations satisfied from new activities in the period - contract revenue 6,956 33,086 30,233 106,156
Total revenues $ 9,277 $ 34,470 $ 43,582 $ 108,215
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue Recognition - Performance Obligation (Details)
$ in Thousands
Sep. 30, 2023
USD ($)
Disaggregation of Revenue [Line Items]  
Performance obligation $ 19,336
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 9,106
Expected timing of satisfaction, period 3 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 9,590
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 140
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 500
Expected timing of satisfaction, period
Product revenue  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 18,676
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 8,446
Expected timing of satisfaction, period 3 months
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 9,590
Expected timing of satisfaction, period 1 year
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 140
Expected timing of satisfaction, period 1 year
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 500
Expected timing of satisfaction, period
Research and development revenue  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 660
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 660
Expected timing of satisfaction, period 3 months
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period 1 year
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period 1 year
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Disaggregation of Revenue [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Shares issuable under the Equity Incentive Plan        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total shares excluded as anti-dilutive (shares) 8,873 6,604 8,873 6,604
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Investments in Non-Marketable Securities - Narrative (Details) - USD ($)
1 Months Ended 3 Months Ended 9 Months Ended
Mar. 31, 2023
Sep. 30, 2021
Apr. 30, 2021
Jun. 30, 2020
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Jun. 30, 2022
Mar. 31, 2022
Marketable Securities [Line Items]                      
Payments to acquire other investments             $ 1,191,000 $ 5,300,000      
Total non-marketable equity securities         $ 18,013,000   18,013,000   $ 20,510,000    
Total revenues         9,277,000 $ 34,470,000 43,582,000 108,215,000      
Impairment of investment in non-marketable equity securities         3,900,000   3,875,000 0      
Unrealized or realized gains or losses         0 0 0 0      
Research and development revenue                      
Marketable Securities [Line Items]                      
Total revenues         3,882,000 6,428,000 18,775,000 $ 14,839,000      
seqWell | Research and development revenue                      
Marketable Securities [Line Items]                      
Total revenues         $ 69,000   $ 187,000        
Common Stock | seqWell                      
Marketable Securities [Line Items]                      
Shares issued in exchange for service         65,982   179,897        
seqWell                      
Marketable Securities [Line Items]                      
Non-marketable equity securities purchased (in shares)                     1,000,000
Total non-marketable equity securities         $ 2,598,000   $ 2,598,000   5,000,000   $ 5,000,000
Impairment of investment in non-marketable equity securities         3,000,000            
Arzeda                      
Marketable Securities [Line Items]                      
Total non-marketable equity securities         444,000   $ 444,000   $ 1,289,000    
Impairment of investment in non-marketable equity securities         $ 900,000            
Series A Preferred Stock | MAI | MCRA                      
Marketable Securities [Line Items]                      
Number of shares received in exchange for services (in shares)             19,277,914        
Series C-1 Preferred Stock | seqWell                      
Marketable Securities [Line Items]                      
Non-marketable equity securities purchased (in shares)         88,256   88,256        
Series B-2 Preferred Stock | Arzeda                      
Marketable Securities [Line Items]                      
Non-marketable equity securities purchased (in shares)         207,070   207,070        
Common Stock Warrants | seqWell                      
Marketable Securities [Line Items]                      
Non-marketable equity securities purchased (in shares)         44,128   44,128        
Total non-marketable equity securities         $ 400,000   $ 400,000        
MAI                      
Marketable Securities [Line Items]                      
Unrealized gain on non-marketable securities           $ 200,000          
MAI | Series B Preferred Stock                      
Marketable Securities [Line Items]                      
Number of shares purchased (in shares) 985,545 9,198,423               1,587,049  
Payments to acquire other investments $ 800,000 $ 7,000,000                  
MAI | Series A Preferred Stock                      
Marketable Securities [Line Items]                      
Number of shares purchased (in shares)     1,000,000 1,587,050              
Payments to acquire other investments     $ 600,000 $ 1,000,000              
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.23.3
Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Mar. 31, 2022
Marketable Securities [Line Items]      
Total non-marketable equity securities $ 18,013 $ 20,510  
MAI      
Marketable Securities [Line Items]      
Total non-marketable equity securities 14,671 13,921  
seqWell      
Marketable Securities [Line Items]      
Total non-marketable equity securities 2,598 5,000 $ 5,000
Arzeda      
Marketable Securities [Line Items]      
Total non-marketable equity securities 444 1,289  
Other investments in non-marketable equity securities      
Marketable Securities [Line Items]      
Total non-marketable equity securities $ 300 $ 300  
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Summary of financial instruments measured at fair value on a recurring basis          
Asset, held-for-sale, not part of disposal group $ 600,000   $ 600,000    
Convertible Debt          
Summary of financial instruments measured at fair value on a recurring basis          
Credit losses 0 $ 0 0 $ 0  
Other-than-temporary impairment losses 0 $ 0 0 $ 0  
Money Market Funds          
Summary of financial instruments measured at fair value on a recurring basis          
Money market funds 65,585,000   65,585,000   $ 77,309,000
Level 1 | Money Market Funds          
Summary of financial instruments measured at fair value on a recurring basis          
Money market funds 65,585,000   65,585,000   77,309,000
Level 2 | Money Market Funds          
Summary of financial instruments measured at fair value on a recurring basis          
Money market funds 0   0   0
Level 3 | Money Market Funds          
Summary of financial instruments measured at fair value on a recurring basis          
Money market funds $ 0   $ 0   $ 0
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details - Cash and Cash Equivalents (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Sep. 30, 2022
Cash and Cash Equivalents [Line Items]      
Adjusted Cost $ 74,577 $ 113,984 $ 108,689
Money Market Funds      
Cash and Cash Equivalents [Line Items]      
Adjusted Cost 65,585 77,309  
Estimated Fair Value 65,585 77,309  
Cash      
Cash and Cash Equivalents [Line Items]      
Adjusted Cost $ 9,000 $ 36,700  
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details - Inventories (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Schedule of Inventory Components    
Raw materials $ 108 $ 108
Work-in-process 0 91
Finished goods 2,197 1,830
Total Inventories 2,305 2,029
Inventory reserves $ 1,400 $ 1,400
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Property, Plant and Equipment [Line Items]          
Property and equipment $ 54,369   $ 54,369   $ 62,435
Less: accumulated depreciation and amortization (39,087)   (39,087)   (39,821)
Property and equipment, net 15,282   15,282   22,614
Asset, held-for-sale, not part of disposal group 600   600    
Asset impairment charges 1,500        
Depreciation 1,357 $ 1,405 4,302 $ 3,961  
San Carlos          
Property, Plant and Equipment [Line Items]          
Impairment of leasehold 4,700   4,700    
Asset impairment charges 7,700   7,700    
Laboratory equipment          
Property, Plant and Equipment [Line Items]          
Property and equipment 36,376   36,376   39,679
Asset, held-for-sale, not part of disposal group 2,100   2,100    
Leasehold improvements          
Property, Plant and Equipment [Line Items]          
Property and equipment 11,750   11,750   16,633
Computer equipment and software          
Property, Plant and Equipment [Line Items]          
Property and equipment 3,096   3,096   3,039
Office equipment and furniture          
Property, Plant and Equipment [Line Items]          
Property and equipment 1,366   1,366   1,345
Construction in progress          
Property, Plant and Equipment [Line Items]          
Property and equipment $ 1,781   $ 1,781   $ 1,739
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details - Goodwill (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2023
USD ($)
Goodwill [Roll Forward]    
Goodwill, beginning balance   $ 3,241
Impairment $ (800) (778)
Goodwill, ending balance 2,463 2,463
Goodwill $ 2,463 $ 2,463
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Balance Sheets Details - Other Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Balance Sheets Details [Abstract]    
Accrued professional and outside service fees $ 5,149 $ 3,495
Accrued purchases 2,644 10,852
Other 1,003 932
Total other accrued liabilities $ 8,796 $ 15,279
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation - Equity Incentive Plans (Details) - shares
1 Months Ended
Apr. 30, 2023
Jan. 31, 2023
Jun. 30, 2019
Apr. 22, 2019
2022 Inducement Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares authorized (in shares)   2,000,000    
2019 Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares authorized (in shares)     8,100,000  
Number of shares available for grant       7,897,144
2019 Amended Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares authorized (in shares) 15,897,144      
Maximum number of shares to be issued upon exercise of stock options 22,000,000      
Number of additional shares authorized (in shares) 8,000,000      
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation - Employee Stock Purchase Plan (Details) - Employee Stock - USD ($)
1 Months Ended
Jun. 30, 2023
Sep. 30, 2023
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Consecutive offering period 24 months  
Purchase price of common stock 85.00%  
Fixed contribution rate $ 25,000  
Number of shares authorized (in shares)   2,000,000
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation - Stock Options (Details)
9 Months Ended
Sep. 30, 2023
Stock Options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Percent of voting interests 10.00%
Purchase price of common stock above minimum threshold 110.00%
Expiration period 10 years
Award vesting period 4 years
Award, expiration period upon termination of service 3 months
Stock Options | Tranche One  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 1 year
Award vesting rights 25.00%
Stock Options | Tranche Two  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 3 years
Award vesting rights 75.00%
Incentive Stock Options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Purchase price of common stock 100.00%
Non-Statutory Stock Options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Purchase price of common stock 85.00%
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation - Restricted Stock Units (Details) - RSUs
9 Months Ended
Sep. 30, 2023
Tranche One  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 3 years
Award vesting rights 33.00%
Tranche Two  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 4 years
Award vesting rights 25.00%
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation - PSUs and PBOs (Details)
$ in Millions
3 Months Ended 9 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Mar. 31, 2022
Sep. 30, 2023
USD ($)
installment
shares
Performance Shares        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of installments | installment       2
Performance awards, threshold level, number of shares, multiplier       0
Performance Shares | Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights       50.00%
Performance Shares | Tranche Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights       50.00%
Performance Shares | 2022 PSU And 2022 PBO | Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights   50.00%    
Performance Shares | 2022 PSU And 2022 PBO | Tranche One | Forecast        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights 50.00%      
Performance Shares | 2022 PSU        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate   85.00%    
Performance Shares | 2022 PBO        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate   42.50%    
Performance Shares | 2021 PSU And 2021 PBO | Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights     50.00%  
Performance Shares | 2021 PSU And 2021 PBO | Tranche Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights     50.00%  
Performance Shares | 2021 PSU        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate     146.00%  
Performance Shares | 2021 PBO        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate     73.00%  
Performance Based Options (PBOs)        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Share-based compensation arrangement by share-based payment award, performance goals achieved, target level, shares eligible to vest, multiplier       100.00%
Share-based compensation arrangement by share-based payment award, performance goals achieved, threshold level, shares eligible to vest, multiplier       25.00%
Share-based compensation arrangement by share-based payment award, performance goals achieved, superior level, shares eligible to vest, multiplier       100.00%
Grants in period (in shares) | shares       0
Compensation not yet recognized, share-based awards other than options       $ 0.1
Performance Share Units (PSUs)        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Share-based payment award, performance goals achieved, threshold level, shares Eligible to vest, multiplier       50.00%
Share-based compensation arrangement by share-based payment award, performance goals achieved, target level, shares eligible to vest, multiplier       100.00%
Share-based compensation arrangement by share-based payment award, performance goals achieved, superior level, shares eligible to vest, multiplier       200.00%
Grants in period (in shares) | shares       0
Stock Options        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Compensation not yet recognized, stock options       $ 9.4
Stock Options | Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights       25.00%
Stock Options | Tranche Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights       75.00%
RSAs and RSUs        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Compensation not yet recognized, share-based awards other than options       $ 6.0
Performance Stock Units (PSUs)        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Compensation not yet recognized, share-based awards other than options       $ 0.5
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-based Compensation - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation $ 2,283 $ 4,531 $ 7,808 $ 11,600
Stock options        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 1,017 1,679 3,035 3,279
RSUs and RSAs        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 942 1,290 3,441 3,785
PSUs        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 292 965 1,408 2,279
PBOs        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 32 597 (76) 2,257
Cost of product revenue        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 60 124 272 367
Research and development        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 450 1,045 1,978 3,110
Selling, general and administrative        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation $ 1,773 $ 3,362 $ 5,558 $ 8,123
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.23.3
Capital Stock (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
May 31, 2021
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Feb. 27, 2023
Class of Stock [Line Items]            
Stock options exercised (shares)       214,284 252,100  
Weighted average exercise price of stock options exercised (in dollars per share)       $ 1.97 $ 2.43  
Proceeds from exercises of stock options       $ 422 $ 612  
Sale of stock, securities registered aggregate amount           $ 200,000
Sale of stock, consideration received on transaction, gross       8,700    
Net proceeds received       7,900    
Costs incurred in connection with offering       721    
PSC            
Class of Stock [Line Items]            
Sale of stock, period 3 years          
Sale of stock, value of shares for issuance   $ 41,300   $ 41,300    
Sale of stock, maximum selling period 3 years          
Sale of stock, commissions, percentage of gross sales price 3.00%          
Issuance of common stock, net of issuance costs (shares)   0 0 3,079,421 0  
PSC | Maximum            
Class of Stock [Line Items]            
Sale of stock, value of shares for issuance $ 50,000          
Sale of stock, commissions and reimbursements, percentage of gross sales price 8.00%          
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Narrative (Details)
3 Months Ended 9 Months Ended
Oct. 01, 2023
USD ($)
Jun. 30, 2017
USD ($)
Sep. 30, 2023
USD ($)
ft²
option
Sep. 30, 2023
USD ($)
ft²
option
Dec. 31, 2022
USD ($)
Jan. 31, 2021
ft²
option
Schedule of Commitments and Contingencies [Line Items]            
Area of real estate property (in square feet) | ft²     77,300 77,300    
Number of options to extend | option     1 1    
Lease obligations     $ 19,979,000 $ 19,979,000 $ 43,638,000  
Remeasurement due to lease modification       19,622,000    
Asset impairment charges     1,500,000      
Impairment       2,997,000    
Asset retirement obligation     300,000 300,000 500,000  
Indemnification Agreement            
Schedule of Commitments and Contingencies [Line Items]            
Loss contingency accrual     0 0    
Term Loan            
Schedule of Commitments and Contingencies [Line Items]            
Borrowing capacity   $ 10,000,000        
Revolving Credit Facility            
Schedule of Commitments and Contingencies [Line Items]            
Borrowing capacity   $ 5,000,000        
Accounts receivable, borrowing base percentage   80.00%        
Demand Deposits            
Schedule of Commitments and Contingencies [Line Items]            
Non-current restricted cash     $ 1,100,000 $ 1,100,000 $ 1,100,000  
200-220 Penobscot            
Schedule of Commitments and Contingencies [Line Items]            
Area of real estate property (in square feet) | ft²     28,200 28,200    
400 Penobscot            
Schedule of Commitments and Contingencies [Line Items]            
Area of real estate property (in square feet) | ft²     37,900 37,900    
Renewal term     5 years 5 years    
501 Chesapeake            
Schedule of Commitments and Contingencies [Line Items]            
Area of real estate property (in square feet) | ft²     11,200 11,200    
Number of options to extend | option     1 1    
Renewal term     5 years 5 years    
San Carlos            
Schedule of Commitments and Contingencies [Line Items]            
Area of real estate property (in square feet) | ft²           36,593
Number of options to extend | option           1
Lease term           10 years
Renewal term           5 years
Asset impairment charges     $ 7,700,000 $ 7,700,000    
Impairment of leasehold     4,700,000 4,700,000    
Impairment     $ 3,000,000 $ 3,000,000    
San Carlos | Subsequent Event            
Schedule of Commitments and Contingencies [Line Items]            
Security deposit $ 500,000          
Lease obligations 3,100,000          
Remeasurement due to lease modification $ 19,600,000          
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.23.3
Commitment and Contingencies - Schedule of Right-of-use Assets and Lease Obligations (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Operating Lease, Right-of-Use Asset [Roll Forward]    
Beginning balance, lease obligation - operation leases, net $ 39,263  
Amortization of right-of-use assets (3,647) $ (3,618)
Additions 898  
Remeasurement due to lease modification (19,622)  
Impairment (2,997)  
Right-of-use assets - Operating leases, net, at September 30, 2023 13,895  
Operating Lease, Liability [Roll Forward]    
Beginning balance, lease obligations - operating leases, net 43,638  
Lease payments (5,668) $ (4,658)
Interest accretion 1,631  
Remeasurement due to lease modification (19,622)  
Ending balance, lease obligations - operating leases, net $ 19,979  
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Lease, Cost [Abstract]        
Finance lease costs $ 0 $ 0 $ 0 $ 18
Operating lease costs 1,618 1,831 5,278 5,491
Short-term lease costs 0 0 0 40
Total lease cost 1,618 1,831 5,278 5,549
Variable lease cost $ 0 $ 0 $ 0 $ 0
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Other Lease Information (Details)
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Weighted-average remaining lease term (in years) 3 years 4 months 24 days
Weighted-average discount rate 6.70%
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Cash Paid for Lease Obligations (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Commitments and Contingencies Disclosure [Abstract]    
Lease payments $ 5,668 $ 4,658
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Operating Leases    
2023 (remaining 3 months) $ 4,229  
2024 4,727  
2025 4,868  
2026 5,014  
2027 2,533  
Thereafter 1,078  
Total minimum lease payments 22,449  
Less: imputed interest 2,470  
Lease obligations 19,979 $ 43,638
Current portion of lease obligations - Operating leases 6,764 5,360
Long-term lease obligations - Operating leases $ 13,215 $ 38,278
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Other Commitments (Details) - Facility maintenance agreement
$ in Thousands
Sep. 30, 2023
USD ($)
Other Commitments [Line Items]  
Total $ 1,084
2023 (Remaining 3 Months) 1,039
2024 and Thereafter $ 45
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.23.3
Related Party Transactions (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Mar. 31, 2023
Sep. 30, 2021
Apr. 30, 2021
Jun. 30, 2020
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Jun. 30, 2022
Related Party Transaction [Line Items]                
Payments to acquire other investments           $ 1,191 $ 5,300  
MAI | MCRA                
Related Party Transaction [Line Items]                
Research and development revenue from transactions with MAI         $ 1,000   1,200  
MAI | MCRA | Product revenue                
Related Party Transaction [Line Items]                
Research and development revenue from transactions with MAI         $ 200   $ 400  
MAI | Series A Preferred Stock                
Related Party Transaction [Line Items]                
Number of shares purchased (in shares)     1,000,000 1,587,050        
Payments to acquire other investments     $ 600 $ 1,000        
MAI | Series B Preferred Stock                
Related Party Transaction [Line Items]                
Number of shares purchased (in shares) 985,545 9,198,423           1,587,049
Payments to acquire other investments $ 800 $ 7,000            
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information - Narrative (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2023
USD ($)
segment
Segment Reporting [Abstract]    
Number of operating segments   2
Number of reportable segments   2
Goodwill impairment | $ $ 800 $ 778
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information - Segment Reporting (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Segment Reporting Information [Line Items]        
Total revenues $ 9,277 $ 34,470 $ 43,582 $ 108,215
Cost of product revenue 2,249 9,786 9,947 29,577
Research and development 13,662 21,821 47,651 60,410
Selling, general and administrative 12,302 13,499 41,066 39,859
Restructuring charges 3,140 0 3,284 0
Asset impairment and other charges 9,984 0 9,984 0
Total costs and operating expenses 41,337 45,106 111,932 129,846
Loss from operations (32,060) (10,636) (68,350) (21,631)
Loss before income taxes (34,899) (9,984) (69,014) (20,863)
Goodwill impairment 800   778  
Stock-based compensation 2,283 4,531 7,808 11,600
Performance Enzymes        
Segment Reporting Information [Line Items]        
Goodwill impairment     0  
Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Goodwill impairment     778  
Product revenue        
Segment Reporting Information [Line Items]        
Total revenues 5,395 28,042 24,807 93,376
Research and development revenue        
Segment Reporting Information [Line Items]        
Total revenues 3,882 6,428 18,775 14,839
Operating segments        
Segment Reporting Information [Line Items]        
Total revenues 9,277 34,470 43,582 108,215
Cost of product revenue 2,249 9,786 9,947 29,577
Research and development 12,523 20,637 44,029 57,112
Selling, general and administrative 2,134 4,679 8,106 13,496
Restructuring charges 2,399 0 2,544 0
Asset impairment and other charges 778 0 778 0
Total costs and operating expenses 20,083 35,102 65,404 100,185
Loss from operations (10,806) (632) (21,822) 8,030
Stock-based compensation 2,283 4,531    
Operating segments | Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 8,710 31,146 37,503 100,774
Cost of product revenue 2,249 9,786 9,947 29,577
Research and development 8,146 6,782 24,100 19,833
Selling, general and administrative 1,748 3,791 6,578 11,208
Restructuring charges 1,182 0 1,182 0
Asset impairment and other charges 0 0 0 0
Total costs and operating expenses 13,325 20,359 41,807 60,618
Loss from operations (4,615) 10,787 (4,304) 40,156
Stock-based compensation 903 1,593 2,861 4,776
Operating segments | Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 567 3,324 6,079 7,441
Cost of product revenue 0 0 0 0
Research and development 4,377 13,855 19,929 37,279
Selling, general and administrative 386 888 1,528 2,288
Restructuring charges 1,217 0 1,362 0
Asset impairment and other charges 778 0 778 0
Total costs and operating expenses 6,758 14,743 23,597 39,567
Loss from operations (6,191) (11,419) (17,518) (32,126)
Stock-based compensation (235) 414 98 1,182
Operating segments | Product revenue        
Segment Reporting Information [Line Items]        
Total revenues 5,395 28,042 24,807 93,376
Operating segments | Product revenue | Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 5,395 28,042 24,807 93,376
Operating segments | Product revenue | Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 0 0 0 0
Operating segments | Research and development revenue        
Segment Reporting Information [Line Items]        
Total revenues 3,882 6,428 18,775 14,839
Operating segments | Research and development revenue | Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 3,315 3,104 12,696 7,398
Operating segments | Research and development revenue | Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 567 3,324 6,079 7,441
Corporate, non-segment        
Segment Reporting Information [Line Items]        
Total costs and operating expenses (22,736) (7,947) (42,890) (24,940)
Unallocated depreciation and amortization (1,357) (1,405) (4,302) (3,953)
Stock-based compensation $ 1,615 $ 2,524 $ 4,849 $ 5,642
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information - Concentration Risk (Details) - Customer Concentration Risk
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Revenue | Customer A          
Concentration Risk [Line Items]          
Concentration risk, percentage 20.00%        
Revenue | Customer B          
Concentration Risk [Line Items]          
Concentration risk, percentage   39.00% 15.00% 54.00%  
Revenue | Customer C          
Concentration Risk [Line Items]          
Concentration risk, percentage   13.00%      
Revenue | Customer D          
Concentration Risk [Line Items]          
Concentration risk, percentage     10.00%    
Revenue | Customer E          
Concentration Risk [Line Items]          
Concentration risk, percentage     10.00%    
Accounts Receivable | Customer B          
Concentration Risk [Line Items]          
Concentration risk, percentage         53.00%
Accounts Receivable | Customer D          
Concentration Risk [Line Items]          
Concentration risk, percentage     15.00%    
Accounts Receivable | Customer E          
Concentration Risk [Line Items]          
Concentration risk, percentage         10.00%
Accounts Receivable | Customer F          
Concentration Risk [Line Items]          
Concentration risk, percentage     38.00%    
Accounts Receivable | Customer G          
Concentration Risk [Line Items]          
Concentration risk, percentage     17.00%    
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Segment Reporting Information [Line Items]        
Total revenues $ 9,277 $ 34,470 $ 43,582 $ 108,215
Americas        
Segment Reporting Information [Line Items]        
Total revenues 4,278 4,822 10,798 12,167
EMEA        
Segment Reporting Information [Line Items]        
Total revenues 3,191 5,987 14,630 14,805
APAC        
Segment Reporting Information [Line Items]        
Total revenues $ 1,808 $ 23,661 $ 18,154 $ 81,243
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
United States    
Geographic Areas, Long-Lived Assets [Abstract]    
Long-lived assets $ 29,177 $ 61,877
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.23.3
Segment, Geographical and Other Revenue Information - Goodwill (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Goodwill [Roll Forward]    
Goodwill, beginning balance   $ 3,241
Impairment $ (800) (778)
Goodwill, ending balance 2,463 2,463
Performance Enzymes    
Goodwill [Roll Forward]    
Goodwill, beginning balance   2,463
Impairment   0
Goodwill, ending balance 2,463 2,463
Novel Biotherapeutics    
Goodwill [Roll Forward]    
Goodwill, beginning balance   778
Impairment   (778)
Goodwill, ending balance $ 0 $ 0
XML 84 R73.htm IDEA: XBRL DOCUMENT v3.23.3
Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Financing Receivable, Allowance for Credit Loss [Roll Forward]        
Balance at beginning of period $ 133 $ 109 $ 163 $ 416
Provision for credit losses 0 0 0 0
Write-offs 0 0 30 257
Adjustment to the existing allowance 0 0 0 50
Balance at end of period $ 133 $ 109 $ 133 $ 109
XML 85 R74.htm IDEA: XBRL DOCUMENT v3.23.3
Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable $ 11,629 $ 31,904
Current    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 6,835 28,896
31-60 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 4,690 1,747
61-90 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 22 469
91 Days and over    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 82 792
Total over 31 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable $ 4,794 $ 3,008
XML 86 R75.htm IDEA: XBRL DOCUMENT v3.23.3
Restructuring Charges - Narrative (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Jul. 31, 2023
Nov. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Restructuring Cost and Reserve [Line Items]            
Restructuring charges     $ 3,140 $ 0 $ 3,284 $ 0
Employee-related Liabilities, Current            
Restructuring Cost and Reserve [Line Items]            
Restructuring reserve     1,900   1,900  
Employee Severance            
Restructuring Cost and Reserve [Line Items]            
Restructuring charges     3,100      
One-time Termination Benefits            
Restructuring Cost and Reserve [Line Items]            
Restructuring and related cost, number of positions eliminated, period percent 25.00% 18.00%        
Restructuring charges     $ 0   $ 200  
XML 87 R76.htm IDEA: XBRL DOCUMENT v3.23.3
Assets Held For Sale (Details)
$ in Millions
3 Months Ended
Sep. 30, 2023
USD ($)
Discontinued Operations and Disposal Groups [Abstract]  
Asset impairment charges $ 1.5
Asset, held-for-sale, not part of disposal group $ 0.6
XML 88 cdxs-20230930_htm.xml IDEA: XBRL DOCUMENT 0001200375 2023-01-01 2023-09-30 0001200375 2023-10-30 0001200375 2023-09-30 0001200375 2022-12-31 0001200375 us-gaap:RelatedPartyMember 2023-09-30 0001200375 us-gaap:RelatedPartyMember 2022-12-31 0001200375 us-gaap:ProductMember us-gaap:RelatedPartyMember 2023-07-01 2023-09-30 0001200375 us-gaap:ProductMember us-gaap:RelatedPartyMember 2022-07-01 2022-09-30 0001200375 us-gaap:ProductMember us-gaap:RelatedPartyMember 2023-01-01 2023-09-30 0001200375 us-gaap:ProductMember us-gaap:RelatedPartyMember 2022-01-01 2022-09-30 0001200375 us-gaap:ProductMember 2023-07-01 2023-09-30 0001200375 us-gaap:ProductMember 2022-07-01 2022-09-30 0001200375 us-gaap:ProductMember 2023-01-01 2023-09-30 0001200375 us-gaap:ProductMember 2022-01-01 2022-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember us-gaap:RelatedPartyMember 2023-07-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember us-gaap:RelatedPartyMember 2022-07-01 2022-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember us-gaap:RelatedPartyMember 2023-01-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember us-gaap:RelatedPartyMember 2022-01-01 2022-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-07-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2022-07-01 2022-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-01-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2022-01-01 2022-09-30 0001200375 2023-07-01 2023-09-30 0001200375 2022-07-01 2022-09-30 0001200375 2022-01-01 2022-09-30 0001200375 us-gaap:CommonStockMember 2023-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001200375 us-gaap:RetainedEarningsMember 2023-06-30 0001200375 2023-06-30 0001200375 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001200375 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001200375 us-gaap:CommonStockMember 2023-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001200375 us-gaap:RetainedEarningsMember 2023-09-30 0001200375 us-gaap:CommonStockMember 2022-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001200375 us-gaap:RetainedEarningsMember 2022-06-30 0001200375 2022-06-30 0001200375 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001200375 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001200375 us-gaap:CommonStockMember 2022-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001200375 us-gaap:RetainedEarningsMember 2022-09-30 0001200375 2022-09-30 0001200375 us-gaap:CommonStockMember 2022-12-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001200375 us-gaap:RetainedEarningsMember 2022-12-31 0001200375 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001200375 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001200375 us-gaap:CommonStockMember 2021-12-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001200375 us-gaap:RetainedEarningsMember 2021-12-31 0001200375 2021-12-31 0001200375 us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001200375 us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001200375 us-gaap:RelatedPartyMember 2023-01-01 2023-09-30 0001200375 us-gaap:RelatedPartyMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:PerformanceEnzymesMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:NovelBiotherapeuticsMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:PerformanceEnzymesMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:NovelBiotherapeuticsMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2022-07-01 2022-09-30 0001200375 cdxs:CoreSegmentMember 2023-07-01 2023-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2023-07-01 2023-09-30 0001200375 cdxs:CoreSegmentMember 2022-07-01 2022-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2022-07-01 2022-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2023-07-01 2023-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2023-07-01 2023-09-30 0001200375 srt:AmericasMember 2023-07-01 2023-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2022-07-01 2022-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2022-07-01 2022-09-30 0001200375 srt:AmericasMember 2022-07-01 2022-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2023-07-01 2023-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2023-07-01 2023-09-30 0001200375 us-gaap:EMEAMember 2023-07-01 2023-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2022-07-01 2022-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2022-07-01 2022-09-30 0001200375 us-gaap:EMEAMember 2022-07-01 2022-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2023-07-01 2023-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2023-07-01 2023-09-30 0001200375 cdxs:APACMember 2023-07-01 2023-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2022-07-01 2022-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2022-07-01 2022-09-30 0001200375 cdxs:APACMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-09-30 0001200375 cdxs:CoreSegmentMember 2023-01-01 2023-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2023-01-01 2023-09-30 0001200375 cdxs:CoreSegmentMember 2022-01-01 2022-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2022-01-01 2022-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2023-01-01 2023-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2023-01-01 2023-09-30 0001200375 srt:AmericasMember 2023-01-01 2023-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2022-01-01 2022-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2022-01-01 2022-09-30 0001200375 srt:AmericasMember 2022-01-01 2022-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2023-01-01 2023-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2023-01-01 2023-09-30 0001200375 us-gaap:EMEAMember 2023-01-01 2023-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2022-01-01 2022-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2022-01-01 2022-09-30 0001200375 us-gaap:EMEAMember 2022-01-01 2022-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2023-01-01 2023-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2023-01-01 2023-09-30 0001200375 cdxs:APACMember 2023-01-01 2023-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2022-01-01 2022-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2022-01-01 2022-09-30 0001200375 cdxs:APACMember 2022-01-01 2022-09-30 0001200375 2023-04-01 2023-06-30 0001200375 us-gaap:ProductMember 2023-10-01 2023-09-30 0001200375 us-gaap:ProductMember 2024-01-01 2023-09-30 0001200375 us-gaap:ProductMember 2025-01-01 2023-09-30 0001200375 us-gaap:ProductMember 2026-01-01 2023-09-30 0001200375 us-gaap:ProductMember 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-10-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2024-01-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2025-01-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2026-01-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-09-30 0001200375 2023-10-01 2023-09-30 0001200375 2024-01-01 2023-09-30 0001200375 2025-01-01 2023-09-30 0001200375 2026-01-01 2023-09-30 0001200375 us-gaap:StockCompensationPlanMember 2023-07-01 2023-09-30 0001200375 us-gaap:StockCompensationPlanMember 2022-07-01 2022-09-30 0001200375 us-gaap:StockCompensationPlanMember 2023-01-01 2023-09-30 0001200375 us-gaap:StockCompensationPlanMember 2022-01-01 2022-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesBPreferredStockMember 2023-03-31 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesBPreferredStockMember 2023-03-01 2023-03-31 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember us-gaap:SeriesAPreferredStockMember 2023-01-01 2023-09-30 0001200375 cdxs:SeqWellMember 2022-03-31 0001200375 cdxs:SeqWellMember cdxs:SeriesC1PreferredStockMember 2023-09-30 0001200375 cdxs:SeqWellMember cdxs:CommonStockWarrantsMember 2023-09-30 0001200375 us-gaap:CommonStockMember cdxs:SeqWellMember 2023-07-01 2023-09-30 0001200375 us-gaap:CommonStockMember cdxs:SeqWellMember 2023-01-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:SeqWellMember 2023-07-01 2023-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:SeqWellMember 2023-01-01 2023-09-30 0001200375 cdxs:ArzedaMember cdxs:SeriesB2PreferredStockMember 2023-09-30 0001200375 cdxs:SeqWellMember 2023-07-01 2023-09-30 0001200375 cdxs:ArzedaMember 2023-07-01 2023-09-30 0001200375 cdxs:MolecularAssembliesIncMember 2022-07-01 2022-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesBPreferredStockMember 2022-06-30 0001200375 cdxs:MolecularAssembliesIncMember 2023-09-30 0001200375 cdxs:MolecularAssembliesIncMember 2022-12-31 0001200375 cdxs:SeqWellMember 2023-09-30 0001200375 cdxs:SeqWellMember 2022-12-31 0001200375 cdxs:ArzedaMember 2023-09-30 0001200375 cdxs:ArzedaMember 2022-12-31 0001200375 us-gaap:OtherAggregatedInvestmentsMember 2023-09-30 0001200375 us-gaap:OtherAggregatedInvestmentsMember 2022-12-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2023-09-30 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2023-09-30 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2023-09-30 0001200375 us-gaap:MoneyMarketFundsMember 2023-09-30 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001200375 us-gaap:MoneyMarketFundsMember 2022-12-31 0001200375 us-gaap:ConvertibleDebtMember 2023-07-01 2023-09-30 0001200375 us-gaap:ConvertibleDebtMember 2022-07-01 2022-09-30 0001200375 us-gaap:ConvertibleDebtMember 2022-01-01 2022-09-30 0001200375 us-gaap:ConvertibleDebtMember 2023-01-01 2023-09-30 0001200375 us-gaap:CashMember 2023-09-30 0001200375 us-gaap:CashMember 2022-12-31 0001200375 cdxs:LaboratoryEquipmentMember 2023-09-30 0001200375 cdxs:LaboratoryEquipmentMember 2022-12-31 0001200375 us-gaap:LeaseholdImprovementsMember 2023-09-30 0001200375 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001200375 us-gaap:ComputerEquipmentMember 2023-09-30 0001200375 us-gaap:ComputerEquipmentMember 2022-12-31 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2023-09-30 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2022-12-31 0001200375 us-gaap:ConstructionInProgressMember 2023-09-30 0001200375 us-gaap:ConstructionInProgressMember 2022-12-31 0001200375 cdxs:SanCarlosMember 2023-07-01 2023-09-30 0001200375 cdxs:A2022InducementPlanMember 2023-01-31 0001200375 cdxs:A2019PlanMember 2019-04-22 0001200375 cdxs:A2019PlanMember 2019-06-30 0001200375 cdxs:A2019AmendedPlanMember 2023-04-01 2023-04-30 0001200375 cdxs:A2019AmendedPlanMember 2023-04-30 0001200375 us-gaap:EmployeeStockMember 2023-06-01 2023-06-30 0001200375 us-gaap:EmployeeStockMember 2023-09-30 0001200375 cdxs:IncentiveStockOptionsMember 2023-01-01 2023-09-30 0001200375 cdxs:NonStatutoryStockOptionsMember 2023-01-01 2023-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-09-30 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-09-30 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-09-30 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-09-30 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-09-30 0001200375 us-gaap:PerformanceSharesMember 2023-09-30 0001200375 us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-09-30 0001200375 us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-09-30 0001200375 cdxs:PerformanceShareUnitsPSUsMember 2023-01-01 2023-09-30 0001200375 us-gaap:PerformanceSharesMember 2023-01-01 2023-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2023-01-01 2023-09-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2022PSUMember 2023-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2022PBOMember 2023-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2022PSUAnd2022PBOMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-03-31 0001200375 srt:ScenarioForecastMember us-gaap:PerformanceSharesMember cdxs:A2022PSUAnd2022PBOMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2024-01-01 2024-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2021PSUMember 2022-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2021PBOMember 2022-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2021PSUAnd2021PBOMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2022-01-01 2022-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2021PSUAnd2021PBOMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2022-01-01 2022-03-31 0001200375 us-gaap:CostOfSalesMember 2023-07-01 2023-09-30 0001200375 us-gaap:CostOfSalesMember 2022-07-01 2022-09-30 0001200375 us-gaap:CostOfSalesMember 2023-01-01 2023-09-30 0001200375 us-gaap:CostOfSalesMember 2022-01-01 2022-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2023-07-01 2023-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2022-07-01 2022-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-07-01 2023-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-07-01 2022-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2023-07-01 2023-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2022-07-01 2022-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-09-30 0001200375 cdxs:RSAsandRSUsMember 2023-07-01 2023-09-30 0001200375 cdxs:RSAsandRSUsMember 2022-07-01 2022-09-30 0001200375 cdxs:RSAsandRSUsMember 2023-01-01 2023-09-30 0001200375 cdxs:RSAsandRSUsMember 2022-01-01 2022-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2023-07-01 2023-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2022-07-01 2022-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2023-01-01 2023-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2022-01-01 2022-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2023-07-01 2023-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2022-07-01 2022-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2022-01-01 2022-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2023-09-30 0001200375 cdxs:RSAsandRSUsMember 2023-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2023-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2023-09-30 0001200375 2023-02-27 0001200375 cdxs:PiperSandlerCoMember 2021-05-01 2021-05-31 0001200375 srt:MaximumMember cdxs:PiperSandlerCoMember 2021-05-31 0001200375 srt:MaximumMember cdxs:PiperSandlerCoMember 2021-05-01 2021-05-31 0001200375 cdxs:PiperSandlerCoMember 2023-07-01 2023-09-30 0001200375 cdxs:PiperSandlerCoMember 2023-01-01 2023-09-30 0001200375 cdxs:PiperSandlerCoMember 2023-09-30 0001200375 cdxs:PiperSandlerCoMember 2022-07-01 2022-09-30 0001200375 cdxs:PiperSandlerCoMember 2022-01-01 2022-09-30 0001200375 cdxs:A200220PenobscotMember 2023-09-30 0001200375 cdxs:A400PenoscotMember 2023-09-30 0001200375 cdxs:A501ChesapeakeMember 2023-09-30 0001200375 us-gaap:DemandDepositsMember 2023-09-30 0001200375 us-gaap:DemandDepositsMember 2022-12-31 0001200375 cdxs:SanCarlosMember 2021-01-31 0001200375 cdxs:SanCarlosMember us-gaap:SubsequentEventMember 2023-10-01 0001200375 cdxs:SanCarlosMember us-gaap:SubsequentEventMember 2023-10-01 2023-10-01 0001200375 cdxs:SanCarlosMember 2023-01-01 2023-09-30 0001200375 cdxs:FacilityMaintenanceAgreementMember 2023-09-30 0001200375 cdxs:TermLoanMember 2017-06-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2017-06-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2017-06-30 2017-06-30 0001200375 us-gaap:IndemnificationGuaranteeMember 2023-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2020-06-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2021-04-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2021-04-01 2021-04-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesBPreferredStockMember 2021-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesBPreferredStockMember 2021-09-01 2021-09-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2022-07-01 2022-09-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2022-01-01 2022-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:ProductMember cdxs:MasterCollaborationResearchAgreementMember 2022-07-01 2022-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:ProductMember cdxs:MasterCollaborationResearchAgreementMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember 2023-07-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember 2022-07-01 2022-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2023-07-01 2023-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2022-07-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember us-gaap:ProductMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember 2023-01-01 2023-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-09-30 0001200375 us-gaap:OperatingSegmentsMember 2022-01-01 2022-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2022-01-01 2022-09-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-09-30 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001200375 cdxs:CustomerEMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001200375 cdxs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001200375 cdxs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001200375 cdxs:CustomerEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001200375 cdxs:CustomerFMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001200375 cdxs:CustomerGMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001200375 country:US 2023-09-30 0001200375 country:US 2022-12-31 0001200375 cdxs:PerformanceEnzymesMember 2022-12-31 0001200375 cdxs:NovelBiotherapeuticsMember 2022-12-31 0001200375 cdxs:PerformanceEnzymesMember 2023-01-01 2023-09-30 0001200375 cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-09-30 0001200375 cdxs:PerformanceEnzymesMember 2023-09-30 0001200375 cdxs:NovelBiotherapeuticsMember 2023-09-30 0001200375 us-gaap:FinancialAssetNotPastDueMember 2023-09-30 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2023-09-30 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2023-09-30 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2023-09-30 0001200375 cdxs:FinancialReceivablesPastDueMember 2023-09-30 0001200375 us-gaap:FinancialAssetNotPastDueMember 2022-12-31 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2022-12-31 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2022-12-31 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2022-12-31 0001200375 cdxs:FinancialReceivablesPastDueMember 2022-12-31 0001200375 us-gaap:OneTimeTerminationBenefitsMember 2023-07-01 2023-07-31 0001200375 us-gaap:EmployeeSeveranceMember 2023-07-01 2023-09-30 0001200375 cdxs:EmployeeRelatedLiabilitiesCurrentMember 2023-09-30 0001200375 us-gaap:OneTimeTerminationBenefitsMember 2022-11-01 2022-11-30 0001200375 us-gaap:OneTimeTerminationBenefitsMember 2023-07-01 2023-09-30 0001200375 us-gaap:OneTimeTerminationBenefitsMember 2023-01-01 2023-09-30 shares iso4217:USD iso4217:USD shares cdxs:segment pure cdxs:installment utr:sqft cdxs:option 0001200375 false 2023 Q3 --12-31 P3M P1Y P1Y P3M P1Y P1Y P3M P1Y P1Y 0.5 1 1 0.25 1 10-Q true 2023-09-30 false 001-34705 Codexis, Inc. DE 71-0872999 200 Penobscot Drive Redwood City CA 94063 650 421-8100 Common Stock, par value $0.0001 per share CDXS NASDAQ Yes Yes Accelerated Filer false false false 69830199 74577000 113984000 991000 521000 11629000 31904000 1936000 2116000 5661000 7016000 19226000 41036000 133000 163000 19093000 40873000 2305000 2029000 5402000 5487000 646000 0 103014000 162894000 1062000 1521000 0 13921000 18013000 20510000 13895000 39263000 15282000 22614000 2463000 3241000 726000 350000 154455000 250393000 3098000 3246000 10521000 11453000 8796000 15279000 6764000 5360000 9236000 13728000 38415000 49066000 10100000 16881000 13215000 38278000 1219000 1371000 62949000 105596000 0.0001 0.0001 5000000 5000000 0 0 0 0 0 0 0.0001 0.0001 200000000 200000000 69827000 69827000 65811000 65811000 6000 6000 581838000 566081000 -490338000 -421290000 91506000 144797000 154455000 250393000 0 215000 0 358000 5395000 28042000 24807000 93376000 0 1000000 0 1245000 3882000 6428000 18775000 14839000 9277000 34470000 43582000 108215000 2249000 9786000 9947000 29577000 13662000 21821000 47651000 60410000 12302000 13499000 41066000 39859000 3140000 0 3284000 0 9984000 0 9984000 0 41337000 45106000 111932000 129846000 -32060000 -10636000 -68350000 -21631000 1056000 436000 3266000 618000 -3895000 216000 -3930000 150000 -34899000 -9984000 -69014000 -20863000 9000 8000 34000 125000 -34908000 -9992000 -69048000 -20988000 -0.50 -0.50 -0.15 -0.15 -1.02 -1.02 -0.32 -0.32 69466000 69466000 65426000 65426000 67670000 67670000 65271000 65271000 69804000 6000 579555000 -455430000 124131000 23000 2283000 2283000 -34908000 -34908000 69827000 6000 581838000 -490338000 91506000 65494000 6000 558147000 -398694000 159459000 77000 180000 180000 47000 4516000 4516000 15000 15000 5000 47000 47000 -9992000 -9992000 65613000 6000 562811000 -408686000 154131000 65811000 6000 566081000 -421290000 144797000 214000 422000 422000 787000 7808000 7808000 721000 3080000 7931000 7931000 65000 404000 404000 -69048000 -69048000 69827000 6000 581838000 -490338000 91506000 65109000 6000 552083000 -387698000 164391000 252000 612000 612000 332000 11467000 11467000 133000 133000 80000 1484000 1484000 -20988000 -20988000 65613000 6000 562811000 -408686000 154131000 -69048000 -20988000 4302000 3961000 3647000 3618000 7808000 11600000 0 -307000 0 1245000 187000 1245000 0 208000 9984000 0 3875000 0 -3000 -29000 -21580000 -8184000 276000 463000 252000 -429000 -105000 -351000 7269000 -2279000 -4384000 -3863000 -11273000 3750000 -41601000 6367000 4798000 8340000 27000 29000 1191000 5300000 -5962000 -13611000 422000 612000 8652000 0 503000 42000 404000 1484000 8167000 -914000 -39396000 -8158000 116026000 118895000 76630000 110737000 28000 22000 193000 100000 159000 128000 74577000 108689000 2053000 2048000 76630000 110737000 Description of Business<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins leveraging our proprietary CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">directed evolution platform.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">September 30, 2023, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">we reported our financial results based on two reportable segments: Performance Enzymes and Novel Biotherapeutics. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Performance Enzymes business consists primarily of two focus areas: i) biocatalysts for the enzymatic manufacturing of pharmaceuticals and ii) enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. Our Novel Biotherapeutics business includes product candidates in clinical and preclinical development. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The segment information aligns with how the chief operating decision maker (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CODM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">), who is our Chief Executive Officer (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CEO</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">), reviews and manages the business. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.</span></div> 2 Basis of Presentation and Summary of Significant Accounting Policies<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Principles of Consolidation</span></div><div style="margin-top:9pt;text-indent:18pt"><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 in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2022. 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 disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2022 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2022.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2023, results of our operations for the three and nine months ended September 30, 2023 and 2022, changes in stockholders' equity for the three and nine months ended September 30, 2023 and 2022, and cash flows for the nine months ended September 30, 2023 and 2022. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, deferred revenue, inventories, valuation of equity investments, valuation of assets held for sale, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment of Long-Lived Assets</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We evaluate the carrying values of long-lived assets, which include property and equipment and right-of-use assets, whenever events, changes in business circumstances or our planned use of long-lived assets indicate that their carrying amounts may not be fully recoverable or that their useful lives are no longer appropriate. If these facts and circumstances exist, we assess for recovery by comparing the carrying values of long-lived assets with the future net undiscounted cash flows expected to be generated by the asset. If such assets are considered to be impaired, the impairment to be recognized is measure by the amount by which the carrying amount of the asset exceeds the fair value of the asset. For additional information on the impairment charge recorded in the three and nine months ended September 30, 2023, s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ee Note 7, “Balance Sheets Details” and Note 10, “Commitments and Contingencies.”</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets Held For Sale</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies assets as held for sale when the following conditions are met: (i) management has committed to a plan to sell, (ii) the assets are available for immediate sale in their present condition, (iii) the Company has initiated an active program to identify a buyer, (iv) it is probable that a sale will occur within one year, (v) the assets are actively marketed for sale at a reasonable price in relation to their current fair value, and (vi) there is a low likelihood of significant changes to the plan or that the plan will be withdrawn. If all of the criteria are met as of the balance sheet date, the assets are presented separately in the consolidated balance sheet as held for sale at the lower of the carrying amount or fair value less costs to sell. The assets are then no longer depreciated or amortized while classified as held for sale. For additional information, see</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Note 15, “Assets Held For Sale.”</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting Pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently adopted accounting pronouncements or recently issued accounting pronouncements not yet adopted</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no recent accounting pronouncements or changes in accounting pronouncements during the three and nine months ended September 30, 2023, that are of significance or potential significance to us.</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Principles of Consolidation</span></div><div style="margin-top:9pt;text-indent:18pt"><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 in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2022. 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 disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2022 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2022.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2023, results of our operations for the three and nine months ended September 30, 2023 and 2022, changes in stockholders' equity for the three and nine months ended September 30, 2023 and 2022, and cash flows for the nine months ended September 30, 2023 and 2022. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.</span></div>The unaudited condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, deferred revenue, inventories, valuation of equity investments, valuation of assets held for sale, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment of Long-Lived Assets</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We evaluate the carrying values of long-lived assets, which include property and equipment and right-of-use assets, whenever events, changes in business circumstances or our planned use of long-lived assets indicate that their carrying amounts may not be fully recoverable or that their useful lives are no longer appropriate. If these facts and circumstances exist, we assess for recovery by comparing the carrying values of long-lived assets with the future net undiscounted cash flows expected to be generated by the asset. If such assets are considered to be impaired, the impairment to be recognized is measure by the amount by which the carrying amount of the asset exceeds the fair value of the asset. For additional information on the impairment charge recorded in the three and nine months ended September 30, 2023, s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ee Note 7, “Balance Sheets Details” and Note 10, “Commitments and Contingencies.”</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets Held For Sale</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies assets as held for sale when the following conditions are met: (i) management has committed to a plan to sell, (ii) the assets are available for immediate sale in their present condition, (iii) the Company has initiated an active program to identify a buyer, (iv) it is probable that a sale will occur within one year, (v) the assets are actively marketed for sale at a reasonable price in relation to their current fair value, and (vi) there is a low likelihood of significant changes to the plan or that the plan will be withdrawn. If all of the criteria are met as of the balance sheet date, the assets are presented separately in the consolidated balance sheet as held for sale at the lower of the carrying amount or fair value less costs to sell. The assets are then no longer depreciated or amortized while classified as held for sale. For additional information, see</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Note 15, “Assets Held For Sale.”</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting Pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently adopted accounting pronouncements or recently issued accounting pronouncements not yet adopted</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no recent accounting pronouncements or changes in accounting pronouncements during the three and nine months ended September 30, 2023, that are of significance or potential significance to us.</span></div> Revenue Recognition<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Disaggregation of Revenue</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment information is as follows (in thousands):</span><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:25.654%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Three Months Ended September 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%">Three Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Major products and service:</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><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 2px 13pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">3,315 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">3,882 </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:10pt;font-weight:400;line-height:100%">3,104 </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:10pt;font-weight:400;line-height:100%">3,324 </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:10pt;font-weight:400;line-height:100%">6,428 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">8,710 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">567 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">31,146 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">3,324 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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:11pt"><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><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><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;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%">Primary geographical markets:</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="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:10pt;font-weight:400;line-height:100%">Americas</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:10pt;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:10pt;font-weight:400;line-height:100%">4,278 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">4,278 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,654 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,168 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,822 </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:10pt;font-weight:400;line-height:100%">EMEA</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:10pt;font-weight:400;line-height:100%">2,624 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">3,191 </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:10pt;font-weight:400;line-height:100%">3,831 </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:10pt;font-weight:400;line-height:100%">2,156 </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:10pt;font-weight:400;line-height:100%">5,987 </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:10pt;font-weight:400;line-height:100%">APAC</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:10pt;font-weight:400;line-height:100%">1,808 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,808 </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:10pt;font-weight:400;line-height:100%">23,661 </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:10pt;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:10pt;font-weight:400;line-height:100%">23,661 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">8,710 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">567 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">31,146 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">3,324 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt"><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:25.654%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Nine Months Ended September 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%">Nine Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Major products and service:</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><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 2px 13pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">12,696 </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:10pt;font-weight:400;line-height:100%">6,079 </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:10pt;font-weight:400;line-height:100%">18,775 </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:10pt;font-weight:400;line-height:100%">7,398 </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:10pt;font-weight:400;line-height:100%">7,441 </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:10pt;font-weight:400;line-height:100%">14,839 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">37,503 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">6,079 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">100,774 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">7,441 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:11pt"><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><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><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;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%">Primary geographical markets:</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="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:10pt;font-weight:400;line-height:100%">Americas</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:10pt;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:10pt;font-weight:400;line-height:100%">8,865 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,933 </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:10pt;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:10pt;font-weight:400;line-height:100%">10,798 </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:10pt;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:10pt;font-weight:400;line-height:100%">8,514 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,653 </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:10pt;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:10pt;font-weight:400;line-height:100%">12,167 </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:10pt;font-weight:400;line-height:100%">EMEA</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:10pt;font-weight:400;line-height:100%">10,484 </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:10pt;font-weight:400;line-height:100%">4,146 </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:10pt;font-weight:400;line-height:100%">14,630 </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:10pt;font-weight:400;line-height:100%">11,017 </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:10pt;font-weight:400;line-height:100%">3,788 </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:10pt;font-weight:400;line-height:100%">14,805 </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:10pt;font-weight:400;line-height:100%">APAC</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:10pt;font-weight:400;line-height:100%">18,154 </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:10pt;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:10pt;font-weight:400;line-height:100%">18,154 </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:10pt;font-weight:400;line-height:100%">81,243 </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:10pt;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:10pt;font-weight:400;line-height:100%">81,243 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">37,503 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">6,079 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">100,774 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">7,441 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Balances</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Contract assets</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:10pt;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:10pt;font-weight:400;line-height:100%">1,936 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,116 </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:10pt;font-weight:400;line-height:100%">Unbilled receivables</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:10pt;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:10pt;font-weight:400;line-height:100%">5,661 </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:10pt;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:10pt;font-weight:400;line-height:100%">7,016 </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:10pt;font-weight:400;line-height:100%">Contract costs</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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">19 </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:10pt;font-weight:400;line-height:100%">Contract liabilities: deferred revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">19,336 </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:10pt;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:10pt;font-weight:400;line-height:100%">30,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:3pt"><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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had no asset impairment charges related to financial assets in the three and nine months ended September 30, 2023 and 2022.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">decrease</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in contract assets was primarily</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> due to decreases in product revenue from contracts subject to over time </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">revenue recognition. The </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">decrease</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in unbilled receivables was primari</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ly due to the timing of billings. T</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">he </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">decrease</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in deferred revenue was</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> primarily</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> due to timing of recognition of revenue, including the $2.9 million rel</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ease of prior periods' product revenue deferrals during the second quarter of 2023 due to early termination of the enzyme supply obligations to a customer</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized the following revenues (in thousands):</span><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:50.215%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.602%"></td><td style="width:0.1%"></td></tr><tr><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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%">Revenue recognized in the period for:</span></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:10pt;font-weight:400;line-height:100%">Amounts included in contract liabilities at the beginning of the period:</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><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 13pt;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%">Performance obligations satisfied</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:10pt;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:10pt;font-weight:400;line-height:100%">1,303 </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:10pt;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:10pt;font-weight:400;line-height:100%">889 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,111 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,694 </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:10pt;font-weight:400;line-height:100%">Changes in the period:</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;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%">Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods</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:10pt;font-weight:400;line-height:100%">1,018 </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:10pt;font-weight:400;line-height:100%">495 </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:10pt;font-weight:400;line-height:100%">4,238 </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:10pt;font-weight:400;line-height:100%">365 </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 14.5pt;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%">Performance obligations satisfied from new activities in the period - contract revenue</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:10pt;font-weight:400;line-height:100%">6,956 </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:10pt;font-weight:400;line-height:100%">33,086 </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:10pt;font-weight:400;line-height:100%">30,233 </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:10pt;font-weight:400;line-height:100%">106,156 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Obligations</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2023.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of September 30, 2023 (in thousands): </span><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:38.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.603%"></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: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:700;line-height:100%">Remainder of 2023</span></div></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%">2024</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%">2025</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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:700;line-height:100%">2026 and Thereafter</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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><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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">8,446 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,590 </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:10pt;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:10pt;font-weight:400;line-height:100%">140 </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:10pt;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:10pt;font-weight:400;line-height:100%">500 </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="display:none"></td><td colspan="3" style="display:none"></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:10pt;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:10pt;font-weight:400;line-height:100%">18,676 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">660 </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:10pt;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:10pt;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:10pt;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="3" style="display:none"></td><td colspan="3" style="display:none"></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:10pt;font-weight:400;line-height:100%">660 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;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:10pt;font-weight:400;line-height:100%">9,106 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,590 </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:10pt;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:10pt;font-weight:400;line-height:100%">140 </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:10pt;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:10pt;font-weight:400;line-height:100%">500 </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="display:none"></td><td colspan="3" style="display:none"></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:10pt;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:10pt;font-weight:400;line-height:100%">19,336 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> <span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment information is as follows (in thousands):</span><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:25.654%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Three Months Ended September 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%">Three Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Major products and service:</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><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 2px 13pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">3,315 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">3,882 </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:10pt;font-weight:400;line-height:100%">3,104 </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:10pt;font-weight:400;line-height:100%">3,324 </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:10pt;font-weight:400;line-height:100%">6,428 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">8,710 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">567 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">31,146 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">3,324 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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:11pt"><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><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><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;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%">Primary geographical markets:</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="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:10pt;font-weight:400;line-height:100%">Americas</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:10pt;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:10pt;font-weight:400;line-height:100%">4,278 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">4,278 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,654 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,168 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,822 </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:10pt;font-weight:400;line-height:100%">EMEA</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:10pt;font-weight:400;line-height:100%">2,624 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">3,191 </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:10pt;font-weight:400;line-height:100%">3,831 </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:10pt;font-weight:400;line-height:100%">2,156 </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:10pt;font-weight:400;line-height:100%">5,987 </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:10pt;font-weight:400;line-height:100%">APAC</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:10pt;font-weight:400;line-height:100%">1,808 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,808 </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:10pt;font-weight:400;line-height:100%">23,661 </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:10pt;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:10pt;font-weight:400;line-height:100%">23,661 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">8,710 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">567 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">31,146 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">3,324 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table><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:25.654%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Nine Months Ended September 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%">Nine Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Major products and service:</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><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 2px 13pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">12,696 </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:10pt;font-weight:400;line-height:100%">6,079 </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:10pt;font-weight:400;line-height:100%">18,775 </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:10pt;font-weight:400;line-height:100%">7,398 </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:10pt;font-weight:400;line-height:100%">7,441 </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:10pt;font-weight:400;line-height:100%">14,839 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">37,503 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">6,079 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">100,774 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">7,441 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:11pt"><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><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><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;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%">Primary geographical markets:</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="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:10pt;font-weight:400;line-height:100%">Americas</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:10pt;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:10pt;font-weight:400;line-height:100%">8,865 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,933 </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:10pt;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:10pt;font-weight:400;line-height:100%">10,798 </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:10pt;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:10pt;font-weight:400;line-height:100%">8,514 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,653 </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:10pt;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:10pt;font-weight:400;line-height:100%">12,167 </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:10pt;font-weight:400;line-height:100%">EMEA</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:10pt;font-weight:400;line-height:100%">10,484 </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:10pt;font-weight:400;line-height:100%">4,146 </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:10pt;font-weight:400;line-height:100%">14,630 </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:10pt;font-weight:400;line-height:100%">11,017 </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:10pt;font-weight:400;line-height:100%">3,788 </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:10pt;font-weight:400;line-height:100%">14,805 </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:10pt;font-weight:400;line-height:100%">APAC</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:10pt;font-weight:400;line-height:100%">18,154 </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:10pt;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:10pt;font-weight:400;line-height:100%">18,154 </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:10pt;font-weight:400;line-height:100%">81,243 </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:10pt;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:10pt;font-weight:400;line-height:100%">81,243 </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 7.75pt;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%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">37,503 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">6,079 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">100,774 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">7,441 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 5395000 0 5395000 28042000 0 28042000 3315000 567000 3882000 3104000 3324000 6428000 8710000 567000 9277000 31146000 3324000 34470000 4278000 0 4278000 3654000 1168000 4822000 2624000 567000 3191000 3831000 2156000 5987000 1808000 0 1808000 23661000 0 23661000 8710000 567000 9277000 9277000 31146000 3324000 34470000 34470000 24807000 0 24807000 93376000 0 93376000 12696000 6079000 18775000 7398000 7441000 14839000 37503000 6079000 43582000 100774000 7441000 108215000 8865000 1933000 10798000 8514000 3653000 12167000 10484000 4146000 14630000 11017000 3788000 14805000 18154000 0 18154000 81243000 0 81243000 37503000 6079000 43582000 100774000 7441000 108215000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Contract assets</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:10pt;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:10pt;font-weight:400;line-height:100%">1,936 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,116 </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:10pt;font-weight:400;line-height:100%">Unbilled receivables</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:10pt;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:10pt;font-weight:400;line-height:100%">5,661 </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:10pt;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:10pt;font-weight:400;line-height:100%">7,016 </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:10pt;font-weight:400;line-height:100%">Contract costs</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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">19 </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:10pt;font-weight:400;line-height:100%">Contract liabilities: deferred revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">19,336 </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:10pt;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:10pt;font-weight:400;line-height:100%">30,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:3pt"><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></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized the following revenues (in thousands):</span><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:50.215%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.602%"></td><td style="width:0.1%"></td></tr><tr><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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%">Revenue recognized in the period for:</span></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:10pt;font-weight:400;line-height:100%">Amounts included in contract liabilities at the beginning of the period:</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><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 13pt;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%">Performance obligations satisfied</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:10pt;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:10pt;font-weight:400;line-height:100%">1,303 </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:10pt;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:10pt;font-weight:400;line-height:100%">889 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,111 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,694 </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:10pt;font-weight:400;line-height:100%">Changes in the period:</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;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%">Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods</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:10pt;font-weight:400;line-height:100%">1,018 </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:10pt;font-weight:400;line-height:100%">495 </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:10pt;font-weight:400;line-height:100%">4,238 </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:10pt;font-weight:400;line-height:100%">365 </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 14.5pt;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%">Performance obligations satisfied from new activities in the period - contract revenue</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:10pt;font-weight:400;line-height:100%">6,956 </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:10pt;font-weight:400;line-height:100%">33,086 </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:10pt;font-weight:400;line-height:100%">30,233 </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:10pt;font-weight:400;line-height:100%">106,156 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 1936000 2116000 5661000 7016000 0 19000 19336000 30609000 0 0 0 0 2900000 1303000 889000 9111000 1694000 1018000 495000 4238000 365000 6956000 33086000 30233000 106156000 9277000 34470000 43582000 108215000 The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2023.<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of September 30, 2023 (in thousands): </span><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:38.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.603%"></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: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:700;line-height:100%">Remainder of 2023</span></div></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%">2024</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%">2025</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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:700;line-height:100%">2026 and Thereafter</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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><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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">8,446 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,590 </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:10pt;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:10pt;font-weight:400;line-height:100%">140 </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:10pt;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:10pt;font-weight:400;line-height:100%">500 </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="display:none"></td><td colspan="3" style="display:none"></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:10pt;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:10pt;font-weight:400;line-height:100%">18,676 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">660 </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:10pt;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:10pt;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:10pt;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="3" style="display:none"></td><td colspan="3" style="display:none"></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:10pt;font-weight:400;line-height:100%">660 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;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:10pt;font-weight:400;line-height:100%">9,106 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,590 </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:10pt;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:10pt;font-weight:400;line-height:100%">140 </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:10pt;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:10pt;font-weight:400;line-height:100%">500 </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="display:none"></td><td colspan="3" style="display:none"></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:10pt;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:10pt;font-weight:400;line-height:100%">19,336 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 8446000 9590000 140000 500000 18676000 660000 0 0 0 660000 9106000 9590000 140000 500000 19336000 N<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">et Loss per S</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">hare</span><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net loss per share is computed by dividing the net loss by the weighted-average number of shares of common stock outstanding, less restricted stock awards ("RSAs") subject to forfeiture. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock shares outstanding, less RSAs subject to forfeiture, plus all additional common shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities. For all periods presented, diluted and basic net loss per share, are identical since potential common stock shares are excluded from the calculation, as their effect was anti-dilutive.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Anti-Dilutive Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In periods of net loss, the weighted average number of shares outstanding, prior to the application of the treasury stock method, excludes potentially dilutive securities from the computation of diluted net loss per common share because including such shares would have an anti-dilutive effect.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):</span><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:41.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.795%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Shares issuable under the Equity Incentive Plan</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,873</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,604</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,873</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,604</span></td></tr></table></div> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):</span><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:41.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.795%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Shares issuable under the Equity Incentive Plan</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,873</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,604</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,873</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,604</span></td></tr></table> 8873000 6604000 8873000 6604000 Investments in Non-Marketable Securities<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-Marketable Equity Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2023, we purchased an additional</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 985,545 shares of Series B preferred stock for $0.8 million in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Molecular Assemblies, Inc. (“MAI”), a privately held life sciences company</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As of September 30, 2023, we held an aggregate of 19,277,914 shares of MAI's Series A and B preferred stock that we have earned or purchased from MAI. See Note 11 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“Related Party Transactions” for additional information on our investment in MAI.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2022, we entered into a Stock Purchase Agreement with seqWell, Inc. (“seqWell”), a privately held life sciences company, pursuant to which we purchased 1,000,000 shares of seqWell's Series C preferred stock for $5.0 million. In March 2023, we entered into a Master Collaboration Agreement and Research Agreement with seqWell (the “seqWell Agreement”), pursuant to which we are providing research and experimental screening and protein engineering activities in exchange for compensation in the form of additional shares of seqWell's common stock. In addition to our initial equity investment and the shares we have received under the seqWell Agreement, in September 2023, we purchased an additional 88,256 shares of seqWell's Series C-1 preferred stock and 44,128 common stock warrants for $0.4 million. We received 65,982 and 179,897 shares of seqWell's common stock from research and development services with seqWell and we recognized $69 thousand and $187 thousand in research and development revenue from these services during the three and nine months ended September 30, 2023, respectively.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We own 207,070 shares of Series B-2 preferred stock of Arzeda Corp. (“Arzeda”), an early-stage computational protein design company.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our non-marketable equity securities are investments in privately held companies without readily determinable market value and primarily relate to our investments in MAI, seqWell and Arzeda. These investments are accounted for under the measurement alternative and are measured at cost minus impairment, if any, plus or minus changes resulting from observable price changes for identical or similar securities of the same issuer. Non-marketable equity securities are measured at fair value on a non-recurring basis and classified within Level 2 in the fair value hierarchy when we estimate the fair value of these investments using the observable transaction price paid by third party investors for the same or similar security of the same issuers. The fair value of non-marketable equity securities are classified within Level 3 when we estimate fair value using unobservable inputs such as when we remeasure due to impairment and we use discount rates, market data of comparable companies, and rights and obligations of the securities the Company holds, among others. We adjust the carrying value of non-marketable equity securities which have been remeasured during the period and recognize resulting gains or losses as a component of other expense, net in the unaudited condensed consolidated statements of operations.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended September 30, 2023, we recognized an impairment charge of $3.9 million and included this as adjustment to the carrying value of our investments in</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> seqWell and Arzeda. This adjustment, which is presented within other income (expense), net in the condensed consolidated statements of operations, is related to the write-down of the carrying value of our investments in seqWell by $3.0 million and in Arzeda by $0.9 million to its estimated fair values as determined based on valuation methods using the recent transaction price of similar preferred stock securities issued by the investees and adjusted for</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> the rights and obligations of the preferred stock securities the Company holds. For the three months ended September 30, 2022, we recognized a $0.2 million unrealized gain and included as adjustment to the carrying value of our investment in MAI, for the remeasurement of the additional 1,587,049 shares of Series B preferred stock received as milestone payment during the three months ended September 30, 2022 based on the latest observed transaction price of MAI's preferred stock. There was no remeasurement event for our investments in other non-marketable equity securities that occurred during the three and nine months ended September 30, 2023 and 2022. We recognize</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d no</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> realized gains or losses during the three and nine months ended September 30, 2023 and 2022.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The following table presents the carrying value of our non-marketable equity securities (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MAI</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">14,671 </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:10pt;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:10pt;font-weight:400;line-height:100%">13,921 </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:10pt;font-weight:400;line-height:100%">seqWell</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:10pt;font-weight:400;line-height:100%">2,598 </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:10pt;font-weight:400;line-height:100%">5,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;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%">Arzeda</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:10pt;font-weight:400;line-height:100%">444 </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:10pt;font-weight:400;line-height:100%">1,289 </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:10pt;font-weight:400;line-height:100%">Other investments in non-marketable equity securities</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:10pt;font-weight:400;line-height:100%">300 </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:10pt;font-weight:400;line-height:100%">300 </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:10pt;font-weight:400;line-height:100%">Total non-marketable equity securities</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:10pt;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:10pt;font-weight:400;line-height:100%">18,013 </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:10pt;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:10pt;font-weight:400;line-height:100%">20,510 </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:3pt"><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></table></div> 985545 800000 19277914 1000000 5000000 88256 44128 400000 65982 179897 69000 187000 207070 3900000 3000000 900000 200000 1587049 0 0 0 0 The following table presents the carrying value of our non-marketable equity securities (in thousands):<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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MAI</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">14,671 </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:10pt;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:10pt;font-weight:400;line-height:100%">13,921 </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:10pt;font-weight:400;line-height:100%">seqWell</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:10pt;font-weight:400;line-height:100%">2,598 </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:10pt;font-weight:400;line-height:100%">5,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;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%">Arzeda</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:10pt;font-weight:400;line-height:100%">444 </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:10pt;font-weight:400;line-height:100%">1,289 </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:10pt;font-weight:400;line-height:100%">Other investments in non-marketable equity securities</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:10pt;font-weight:400;line-height:100%">300 </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:10pt;font-weight:400;line-height:100%">300 </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:10pt;font-weight:400;line-height:100%">Total non-marketable equity securities</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:10pt;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:10pt;font-weight:400;line-height:100%">18,013 </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:10pt;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:10pt;font-weight:400;line-height:100%">20,510 </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:3pt"><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></table> 14671000 13921000 2598000 5000000 444000 1289000 300000 300000 18013000 20510000 Fair Value Measurements<div style="margin-top:9pt;text-indent:18pt"><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 financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):</span><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:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" 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%">September 30, 2023</span></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:10pt;font-weight:400;line-height:100%"> </span></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%">Level 1</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%">Level 2</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%">Level 3</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%">Total</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:10pt;font-weight:400;line-height:100%">Money market funds </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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt"><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:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"><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="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><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="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:middle"><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="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:middle"><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="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:middle"><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><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,309 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,309 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three and nine months ended September 30, 2023 and 2022, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The investments in non-marketable securities that have been remeasured due to an observable event or impairment are classified within Level 3 in the fair value hierarchy because we estimate the value based on valuation methods which may include a combination of the observable transaction price at the transaction date and other unobservable inputs including rights and obligations of the investments we hold. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional information, see Note 5, “Investments in Non-Marketable Securities.”</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the Company had classifie</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d $0.6 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of laboratory equipment, net of accumulated depreciation, that it intends to sell within the next quarter and that meets the held for sale criteria, to assets held for sale in the condensed consolidated balance sheet. The estimated fair values (Level 2 fair value measurements) were determined based on the quoted proceeds from the sale of these assets less costs to sell. For additional information, see Note 15, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“Assets Held For Sale.”</span> <div style="margin-top:9pt;text-indent:18pt"><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 financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):</span><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:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" 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%">September 30, 2023</span></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:10pt;font-weight:400;line-height:100%"> </span></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%">Level 1</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%">Level 2</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%">Level 3</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%">Total</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:10pt;font-weight:400;line-height:100%">Money market funds </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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt"><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:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"><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="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><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="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:middle"><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="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:middle"><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="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:middle"><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><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,309 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,309 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 65585000 0 0 65585000 77309000 0 0 77309000 0 0 0 0 0 0 0 0 600000 Balance Sheets Details<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Equivalents</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents as of September 30, 2023 and December 31, 2022, consisted of the following (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">December 31, 2022</span></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:10pt;font-weight:400;line-height:100%"> </span></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%">Adjusted Cost</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%">Estimated Fair Value</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%">Adjusted Cost</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%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:10pt;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:10pt;font-weight:400;line-height:100%">77,309 </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:10pt;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:10pt;font-weight:400;line-height:100%">77,309 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets. Average contractual maturities (in days) is not applicable.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the total cash and cash equivalents balance of $74.6 million consisted of money market funds of $65.6 million and cash of $9.0 million held with major financial institutions. As of December 31, 2022, the total cash and cash equivalents balance of $114.0 million consisted of money market funds of $77.3 million and cash of $36.7 million held with major financial institutions. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Raw materials</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:10pt;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:10pt;font-weight:400;line-height:100%">108 </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:10pt;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:10pt;font-weight:400;line-height:100%">108 </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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">91 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,197 </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:10pt;font-weight:400;line-height:100%">1,830 </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:10pt;font-weight:400;line-height:100%">Total Inventories</span></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:10pt;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:10pt;font-weight:400;line-height:100%">2,305 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">2,029 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are recorded net of reserves of $1.4 million as of September 30, 2023 and December 31, 2022.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, net</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Laboratory equipment</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:10pt;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:10pt;font-weight:400;line-height:100%">36,376 </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:10pt;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:10pt;font-weight:400;line-height:100%">39,679 </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:10pt;font-weight:400;line-height:100%">Leasehold improvements</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:10pt;font-weight:400;line-height:100%">11,750 </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:10pt;font-weight:400;line-height:100%">16,633 </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:10pt;font-weight:400;line-height:100%">Computer equipment and software</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:10pt;font-weight:400;line-height:100%">3,096 </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:10pt;font-weight:400;line-height:100%">3,039 </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:10pt;font-weight:400;line-height:100%">Office equipment and furniture</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:10pt;font-weight:400;line-height:100%">1,366 </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:10pt;font-weight:400;line-height:100%">1,345 </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:10pt;font-weight:400;line-height:100%">Construction in progress</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:10pt;font-weight:400;line-height:100%">1,781 </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:10pt;font-weight:400;line-height:100%">1,739 </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:10pt;font-weight:400;line-height:100%">Property and equipment</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:10pt;font-weight:400;line-height:100%">54,369 </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:10pt;font-weight:400;line-height:100%">62,435 </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 1.75pt;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%">Less: accumulated depreciation and amortization</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:10pt;font-weight:400;line-height:100%">(39,087)</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:10pt;font-weight:400;line-height:100%">(39,821)</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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">15,282 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">22,614 </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:3pt"><td colspan="3" style="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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three and nine months ended September 30, 2023, the Company recorded a n</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">on-cash impairment charge of $4.7 million associated with the San Carlos facility leasehold improvements. For additional information, see Note 10, “Commitments and Contingencies.”</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the Company had classi</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">fied $2.1 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of laboratory equipment, net of accumulated depreciation, that it intends to sell within the next quarter and that meets the held for sale criteria, to assets held for sale. The Company determined that the carrying value of the assets held for sale exceeds fair value less costs to sell, which resulted in a write-down o</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f $1.5 million, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the quarter ended September 30, 2023. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the Company has presented</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $0.6 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of assets held for sale in the condensed consolidated balance sheet. For additional information, see Note 15, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“Assets Held For Sale.”</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense included in both research and development expenses and selling, general and administrative expenses in the unaudited condensed consolidated statements of operations was as follows (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><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 September 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%">Nine Months Ended September 30,</span></td></tr><tr><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:10pt;font-weight:400;line-height:100%">Depreciation expense</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:10pt;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:10pt;font-weight:400;line-height:100%">1,357 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,405 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,302 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,961 </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:3pt"><td colspan="3" style="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></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><br/></span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><br/></span><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:81.648%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"> Goodwill</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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: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:700;line-height:100%">Goodwill</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">3,241 </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:10pt;font-weight:400;line-height:100%">Impairment</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:10pt;font-weight:400;line-height:100%">(778)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill was allocated to each of the Company's reporting units. In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics. As a result of this plan, the Company determined that a triggering event had occurred that required an interim goodwill impairment test during the third quarter of 2023. Based on the results of the impairment evaluation, the Company determined that the goodwill within the Novel Biotherapeutics reporting unit was impaired, which resulted in a non-cash impairment charge of $0.8 million to write off all of the associated goodwill. The impairment charge is recorded within the asset impairment and other charges in the condensed consolidated statements of operation for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">three and nine months ended September 30, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Goodwill had a carrying value of $2.5 million and $3.2 million as of September 30, 2023 and December 31, 2022, respectively.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Accrued Liabilities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities consisted of the following (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Accrued professional and outside service fees</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:10pt;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:10pt;font-weight:400;line-height:100%">5,149 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,495 </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:10pt;font-weight:400;line-height:100%">Accrued purchases </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:10pt;font-weight:400;line-height:100%">2,644 </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:10pt;font-weight:400;line-height:100%">10,852 </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:10pt;font-weight:400;line-height:100%">Other</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:10pt;font-weight:400;line-height:100%">1,003 </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:10pt;font-weight:400;line-height:100%">932 </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:10pt;font-weight:400;line-height:100%">Total other accrued liabilities</span></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:10pt;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:10pt;font-weight:400;line-height:100%">8,796 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">15,279 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents as of September 30, 2023 and December 31, 2022, consisted of the following (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">December 31, 2022</span></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:10pt;font-weight:400;line-height:100%"> </span></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%">Adjusted Cost</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%">Estimated Fair Value</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%">Adjusted Cost</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%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:10pt;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:10pt;font-weight:400;line-height:100%">65,585 </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:10pt;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:10pt;font-weight:400;line-height:100%">77,309 </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:10pt;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:10pt;font-weight:400;line-height:100%">77,309 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets. Average contractual maturities (in days) is not applicable.</span></div> 65585000 65585000 77309000 77309000 74600000 65600000 9000000 114000000 77300000 36700000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Raw materials</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:10pt;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:10pt;font-weight:400;line-height:100%">108 </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:10pt;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:10pt;font-weight:400;line-height:100%">108 </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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">91 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,197 </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:10pt;font-weight:400;line-height:100%">1,830 </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:10pt;font-weight:400;line-height:100%">Total Inventories</span></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:10pt;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:10pt;font-weight:400;line-height:100%">2,305 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">2,029 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 108000 108000 0 91000 2197000 1830000 2305000 2029000 1400000 1400000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Laboratory equipment</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:10pt;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:10pt;font-weight:400;line-height:100%">36,376 </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:10pt;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:10pt;font-weight:400;line-height:100%">39,679 </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:10pt;font-weight:400;line-height:100%">Leasehold improvements</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:10pt;font-weight:400;line-height:100%">11,750 </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:10pt;font-weight:400;line-height:100%">16,633 </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:10pt;font-weight:400;line-height:100%">Computer equipment and software</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:10pt;font-weight:400;line-height:100%">3,096 </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:10pt;font-weight:400;line-height:100%">3,039 </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:10pt;font-weight:400;line-height:100%">Office equipment and furniture</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:10pt;font-weight:400;line-height:100%">1,366 </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:10pt;font-weight:400;line-height:100%">1,345 </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:10pt;font-weight:400;line-height:100%">Construction in progress</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:10pt;font-weight:400;line-height:100%">1,781 </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:10pt;font-weight:400;line-height:100%">1,739 </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:10pt;font-weight:400;line-height:100%">Property and equipment</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:10pt;font-weight:400;line-height:100%">54,369 </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:10pt;font-weight:400;line-height:100%">62,435 </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 1.75pt;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%">Less: accumulated depreciation and amortization</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:10pt;font-weight:400;line-height:100%">(39,087)</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:10pt;font-weight:400;line-height:100%">(39,821)</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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">15,282 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">22,614 </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:3pt"><td colspan="3" style="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></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense included in both research and development expenses and selling, general and administrative expenses in the unaudited condensed consolidated statements of operations was as follows (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><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 September 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%">Nine Months Ended September 30,</span></td></tr><tr><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:10pt;font-weight:400;line-height:100%">Depreciation expense</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:10pt;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:10pt;font-weight:400;line-height:100%">1,357 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,405 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,302 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,961 </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:3pt"><td colspan="3" style="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></table> 36376000 39679000 11750000 16633000 3096000 3039000 1366000 1345000 1781000 1739000 54369000 62435000 39087000 39821000 15282000 22614000 4700000 2100000 1500000 600000 1357000 1405000 4302000 3961000 <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:81.648%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"> Goodwill</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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: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:700;line-height:100%">Goodwill</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">3,241 </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:10pt;font-weight:400;line-height:100%">Impairment</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:10pt;font-weight:400;line-height:100%">(778)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 3241000 778000 2463000 800000 800000 2500000 3200000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities consisted of the following (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">Accrued professional and outside service fees</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:10pt;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:10pt;font-weight:400;line-height:100%">5,149 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,495 </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:10pt;font-weight:400;line-height:100%">Accrued purchases </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:10pt;font-weight:400;line-height:100%">2,644 </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:10pt;font-weight:400;line-height:100%">10,852 </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:10pt;font-weight:400;line-height:100%">Other</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:10pt;font-weight:400;line-height:100%">1,003 </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:10pt;font-weight:400;line-height:100%">932 </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:10pt;font-weight:400;line-height:100%">Total other accrued liabilities</span></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:10pt;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:10pt;font-weight:400;line-height:100%">8,796 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">15,279 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 5149000 3495000 2644000 10852000 1003000 932000 8796000 15279000 Stock-based Compensation<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plans</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, our board of directors (the “Board”) approved the 2022 Employment Inducement Award Plan (the “2022 Inducement Plan”) which provides for the grant of non-qualified stock options, restricted stock awards (“RSAs”), restricted stock units (“RSUs”), performance awards, other stock awards and dividend equivalents to eligible employees with respect to an aggregate of up to 2,000,000 shares of our common stock. In June 2023, the 2022 Inducement Plan was terminated upon the approval of an amendment to the Company's 2019 Incentive Award Plan (the “2019 Plan”) at the 2023 annual meeting of the Company's stockholders (the “Annual Meeting”).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, the Board and stockholders approved the 2019 Plan. The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder. The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, RSUs, RSAs, PSUs, PBOs, stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants. The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, RSA, RSUs, performance-contingent restricted stock units (“PSUs”), performance based options (“PBOs”), other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of shares of our common stock that were initially available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited. In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”). In April 2023, the Board approved an amendment to the 2019 Plan (the “2019 Amended Plan”) which became effective upon stockholders' approval at the Annual Meeting in June 2023. The 2019 Amended Plan included the (i) increase in the number of shares available by 8,000,000 shares, such that an aggregate of 15,897,144 shares are reserved for issuance under the 2019 Amended Plan and any shares subject to awards granted under the 2010 Plan, and (ii) increase in the number of shares that may be granted as incentive stock options under the 2019 Amended Plan such that an aggregate of 22,000,000 shares of common stock may be granted as incentive stock options under the 2019 Amended Plan. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In April 2023, the Board approved an employee stock purchase plan (the “ESPP”) which became effective upon approval at the Annual Meeting in June 2023 of the Company's stockholders. The ESPP allows eligible employees of the Company to purchase shares of our common stock through payroll deductions over 24-month offering periods. The per share purchase price will be the lower of 85% of the closing trading price per share of our common stock on the first trading date of an offering period in which a participant is enrolled or 85% of the closing trading price per share on the purchase date. Participant purchases are limited to a maximum of $25,000 of fair value of our stock per calendar year. The Company is authorized to grant up to 2,000,000 shares of common stock under the ESPP. As of September 30, 2023, the Company had not issued any shares of common stock nor recognized any stock-based compensation expenses related to the ESPP.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is at least 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of ten years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units ("RSUs")</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also grant employees RSUs, which generally vest over either a three year period with 33% of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In prior years, the compensation committee of the Board approved grants of PBOs and PSUs to our executives, and solely in respect of non-executive employees, delegated to our CEO the authority to approve grants of PSUs. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement, as determined by the compensation committee of the Board, and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No PSUs and PBOs were granted during the nine months ended September 30, 2023. In 2022, we awarded PSUs ("2022 PSUs") and PBOs ("2022 PBOs"), each of which commence vesting based upon the achievement of various weighted performance go</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">als, including finance and corporate strategy, performance enzymes and biotherapeutics deliverables, research plans, and organizational development.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> In the first quarter of 2023, the compensation committee of the Board determined that the 2022 PSUs and 2022 PBOs performance goals had been achieved at 85% and 42.5% of the target level, respectively, and recognized stock-based compensation expenses accordingly. Accordingly, 50% of the shares underlying the 2022 PSUs and PBOs vested in the first quarter of 2023 and 50% of the shares underlying the 2022 PSUs and PBOs will vest in the first quarter of 2024, in each case</span><span style="color:#008080;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-weight:400;line-height:120%"> subject to the recipient’s continued service on each vesting date.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, we awarded PSUs ("2021 PSUs") and PBOs ("2021 PBOs"), each of which commence vesting based upon the determination by the compensation committee of the Board of the achievement of various weighted performance goals, including total revenues, product revenue, performance enzymes pipeline advancements, biotherapeutics pipeline advancements, organization and infrastructure upgrades, and significant events that can be publicly announced. In the first quarter of 2022, we determined that the 2021 PSUs and 2021 PBOs performance goals had been achieved at 146% and 73% of the target level, respectively, and recognized stock-based compensation expenses accordingly. Accordingly, 50% of the shares underlying the 2021 PSUs and PBOs vested in the first quarter of 2022 and 50% of the shares underlying the 2021 PSUs and PBOs vested in the first quarter of 2023, in each case</span><span style="color:#008080;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-weight:400;line-height:120%"> subject to the recipient’s continued service on each vesting date.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation Expense </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Cost of product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">60 </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:10pt;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:10pt;font-weight:400;line-height:100%">124 </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:10pt;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:10pt;font-weight:400;line-height:100%">272 </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:10pt;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:10pt;font-weight:400;line-height:100%">367 </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:10pt;font-weight:400;line-height:100%">Research and development </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:10pt;font-weight:400;line-height:100%">450 </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:10pt;font-weight:400;line-height:100%">1,045 </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:10pt;font-weight:400;line-height:100%">1,978 </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:10pt;font-weight:400;line-height:100%">3,110 </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:10pt;font-weight:400;line-height:100%">Selling, general and administrative</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:10pt;font-weight:400;line-height:100%">1,773 </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:10pt;font-weight:400;line-height:100%">3,362 </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:10pt;font-weight:400;line-height:100%">5,558 </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:10pt;font-weight:400;line-height:100%">8,123 </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 13.75pt;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%">Total</span></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:10pt;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:10pt;font-weight:400;line-height:100%">2,283 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,531 </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:10pt;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:10pt;font-weight:400;line-height:100%">7,808 </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:10pt;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:10pt;font-weight:400;line-height:100%">11,600 </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-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Stock options</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:10pt;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:10pt;font-weight:400;line-height:100%">1,017 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,679 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,035 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,279 </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:10pt;font-weight:400;line-height:100%">RSUs and RSAs</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:10pt;font-weight:400;line-height:100%">942 </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:10pt;font-weight:400;line-height:100%">1,290 </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:10pt;font-weight:400;line-height:100%">3,441 </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:10pt;font-weight:400;line-height:100%">3,785 </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:10pt;font-weight:400;line-height:100%">PSUs</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:10pt;font-weight:400;line-height:100%">292 </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:10pt;font-weight:400;line-height:100%">965 </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:10pt;font-weight:400;line-height:100%">1,408 </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:10pt;font-weight:400;line-height:100%">2,279 </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:10pt;font-weight:400;line-height:100%">PBOs</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:10pt;font-weight:400;line-height:100%">32 </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:10pt;font-weight:400;line-height:100%">597 </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:10pt;font-weight:400;line-height:100%">(76)</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:10pt;font-weight:400;line-height:100%">2,257 </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 13.75pt;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%">Total</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:10pt;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:10pt;font-weight:400;line-height:100%">2,283 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:10pt;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:10pt;font-weight:400;line-height:100%">4,531 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:10pt;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:10pt;font-weight:400;line-height:100%">7,808 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:10pt;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:10pt;font-weight:400;line-height:100%">11,600 </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 style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, unrecognized stock-based compensation expense, net of expected forfeitures, was $9.4 million related to unvested stock options, $6.0 million related to unvested RSUs and RSAs, $0.5 million related to unvested PSUs, and $0.1 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through 2027.</span></div> 2000000 7897144 8100000 8000000 15897144 22000000 P24M 0.85 0.85 25000 2000000 1 0.85 0.10 1.10 P10Y P4Y 0.25 P1Y 0.75 P3Y P3M P3Y 0.33 P4Y 0.25 2 0.50 0.50 2 0 0 0 0.85 0.425 0.50 0.50 1.46 0.73 0.50 0.50 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Cost of product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">60 </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:10pt;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:10pt;font-weight:400;line-height:100%">124 </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:10pt;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:10pt;font-weight:400;line-height:100%">272 </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:10pt;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:10pt;font-weight:400;line-height:100%">367 </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:10pt;font-weight:400;line-height:100%">Research and development </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:10pt;font-weight:400;line-height:100%">450 </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:10pt;font-weight:400;line-height:100%">1,045 </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:10pt;font-weight:400;line-height:100%">1,978 </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:10pt;font-weight:400;line-height:100%">3,110 </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:10pt;font-weight:400;line-height:100%">Selling, general and administrative</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:10pt;font-weight:400;line-height:100%">1,773 </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:10pt;font-weight:400;line-height:100%">3,362 </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:10pt;font-weight:400;line-height:100%">5,558 </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:10pt;font-weight:400;line-height:100%">8,123 </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 13.75pt;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%">Total</span></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:10pt;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:10pt;font-weight:400;line-height:100%">2,283 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,531 </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:10pt;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:10pt;font-weight:400;line-height:100%">7,808 </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:10pt;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:10pt;font-weight:400;line-height:100%">11,600 </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> 60000 124000 272000 367000 450000 1045000 1978000 3110000 1773000 3362000 5558000 8123000 2283000 4531000 7808000 11600000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Stock options</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:10pt;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:10pt;font-weight:400;line-height:100%">1,017 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,679 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,035 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,279 </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:10pt;font-weight:400;line-height:100%">RSUs and RSAs</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:10pt;font-weight:400;line-height:100%">942 </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:10pt;font-weight:400;line-height:100%">1,290 </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:10pt;font-weight:400;line-height:100%">3,441 </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:10pt;font-weight:400;line-height:100%">3,785 </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:10pt;font-weight:400;line-height:100%">PSUs</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:10pt;font-weight:400;line-height:100%">292 </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:10pt;font-weight:400;line-height:100%">965 </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:10pt;font-weight:400;line-height:100%">1,408 </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:10pt;font-weight:400;line-height:100%">2,279 </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:10pt;font-weight:400;line-height:100%">PBOs</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:10pt;font-weight:400;line-height:100%">32 </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:10pt;font-weight:400;line-height:100%">597 </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:10pt;font-weight:400;line-height:100%">(76)</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:10pt;font-weight:400;line-height:100%">2,257 </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 13.75pt;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%">Total</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:10pt;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:10pt;font-weight:400;line-height:100%">2,283 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:10pt;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:10pt;font-weight:400;line-height:100%">4,531 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:10pt;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:10pt;font-weight:400;line-height:100%">7,808 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:10pt;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:10pt;font-weight:400;line-height:100%">11,600 </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> 1017000 1679000 3035000 3279000 942000 1290000 3441000 3785000 292000 965000 1408000 2279000 32000 597000 -76000 2257000 2283000 4531000 7808000 11600000 9400000 6000000 500000 100000 Capital Stock<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Exercise of Options</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 30, 2023 and September 30, 2022, we issued 214,284 and 252,100 shares, respectively, upon option exercises at a weighted-average exercise price of $1.97 and $2.43 per share, respectively, with net cash proceeds of $0.4 million and $0.6 million, respectively.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Distribution Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2021, we filed a Registration Statement on Form S-3 with the SEC, that automatically became effective upon its filing, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contracts, and units from time to time in one or more offerings. On February 27, 2023, we filed a post-effective amendment to that Registration on Form S-3. Pursuant to that post-effective amendment, we registered an aggregate $200.0 million of securities. In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler &amp; Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. Under the terms of the EDA, PSC may sell the shares at market prices by any method that is deemed to be an "at the market offering" as defined in Rule 415 under the Securities Act. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are not required to sell any shares at any time during the term of the EDA. The EDA will terminate upon the earlier of: (i) the issuance and sale of all shares through PSC on the terms and conditions of the EDA, or (ii) the termination of the EDA in accordance with its terms. Either party may terminate the EDA at any time upon written notification to the other party in accordance with the EDA, and upon such notification, the offering will terminate. Under no circumstances shall any shares be sold pursuant to the EDA after the date which is three years after the registration statement is first declared effective by the SEC. We agreed to pay PSC a commission of 3% of the gross sales price of any shares sold pursuant to the EDA. With the exception of certain expenses, we will pay PSC up to 8% of the gross sales price of the shares sold pursuant to the EDA for a combined amount of commission and reimbursement of PSC's expenses and fees. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No shares of our common stock were issued and sold under the EDA during the three months ended September 30, 2023. During the nine months ended September 30, 2023, 3,079,421 shares of our common stock were issued and sold pursuant to the EDA. During the nine months ended September 30, 2023, we received gross proceeds of $8.7 million or $7.9 million in net proceeds after PSC's commissions and direct offering expenses of $0.7 million. As of September 30, 2023, $41.3 million of shares remained available for sale under the EDA. During the three and nine months ended September 30, 2022, no shares of our common stock were issued pursuant to the EDA.</span></div> 214284 252100 1.97 2.43 400000 600000 200000000 P3Y 50000000 P3Y 0.03 0.08 0 3079421 8700000 7900000 700000 41300000 0 0 Commitments and Contingencies<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Leases</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in multiple buildings within the same business park operated by Metropolitan Life Insurance Company ("MetLife"). Our lease agreement with MetLife ("RWC Lease") includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “200/220 Penobscot Space”) and approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “400 Penobscot Space”) (the 200/220 Penobscot Space and the 400 Penobscot Space are collectively referred to as the “Penobscot Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”). </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We entered into the initial lease with MetLife for our facilities in Redwood City in 2004 and the RWC Lease has been amended multiple times since then to adjust the leased space and terms of the Lease. In February 2019, we entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife with respect to the Penobscot Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have one (1) option to extend the term of the lease for the Penobscot Space for five (5) years, and one (1) separate option to extend the term of the lease for the 501 Chesapeake Space for five (5) years.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the RWC Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of September 30, 2023 and December 31, 2022, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2021, we entered into a lease agreement with ARE-San Francisco No. 63, LLC ("ARE") to lease a portion of a facility consisting of approximately 36,593 rentable square feet in San Carlos, California to serve as additional office and research and development laboratory space (the "San Carlos Space"). The lease has a 10-year term from the lease commencement date of November 30, 2021 with one option to extend the term for an additional period of 5 years. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2023, we announced our plan to consolidate operations from our San Carlos facility to our headquarters in Redwood City. On September 1, 2023, the Company entered into an Assignment and Assumption of Lease (the “Assignment Agreement”) with Vaxcyte, Inc. (“Vaxcyte”), pursuant to which the Company agreed to assign to Vaxcyte, and Vaxcyte agreed to assume from the Company, all of the Company’s right, title and interest in, under and to the San Carlos Space and the Lease Agreement, dated as of January 29, 2021. On September 6, 2023, the Company, Vaxcyte and ARE entered into a Consent to Assignment and First Amendment (the “Consent”) pursuant to which ARE consented to the Assignment Agreement and the assignment by the Company and the assumption by Vaxcyte of the Company’s interest as tenant in the lease and agreed to release the Company from all of its obligations under the lease that accrue from and after the assignment, and following the assignment, to return the Company's security deposit of approximately $0.5 million provided to ARE in the form of a letter of credit. Under the Assignment Agreement, the Company will prepay to ARE (i) the base rent, as defined in the lease agreement, with respect to the three-month period commencing on the date of the assignment and (ii) certain amounts payable to ARE in connection with tenant improvements completed by ARE pursuant to the lease, which a</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">mounted to $3.1 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. In connection with the Consent, ARE agreed that neither the Company nor Vaxcyte will be required to remove any existing alterations or improvements to the San Carlos Space. The effective date of the assignment was October 1, 2023, which under the terms of the Assignment Agreement was the earlier of (i) the date Vaxcyte occupies the San Carlos Space for the operation of business or (ii) the date the Company vacated and decommissioned the San Carlos Space and certain other customary conditions were satisfied. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit which we expected to be released in the fourth quarter of 2023 following the effectiveness of the lease assignment in October 1, 2023 and which is recorded as </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">current</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> restricted cash on the condensed consolidated balance sheet.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the Assignment Agreement, the Company remeasured the lease obligation for the San Carlos Space as $3.1 million, or the present value of the remaining lease payments, which consist of the remaining rent through the effectiveness of the lease assignment and certain amounts payable to ARE pursuant to the Assignment Agreement, and wrote off the remaining lease liability of $19.6 million and the corresponding right of use asset balance. Simultaneously, the Company determined that indicators of impairment existed because the lease assignment will impact the utilization of the related right of use assets and leasehold improvements in the San Carlos Space, and therefore performed a recoverability test by estimating future undiscounted net cash flows expected to be generated from the use of these assets. As there were no substantial future cash inflows associated with these assets, the carrying values of these assets were deemed unrecoverable. As a result, the Company recognized a non-cash impairment charge of $7.7 million, of which $4.7 million is related to leasehold improvements and $3.0 million for the right of use assets, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the three and nine months ended September 30, 2023. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tables below tables below show the balance of right-of-use assets and lease obligations as of January 1, 2023 and the balance as of September 30, 2023, including the changes during the period (in thousands):</span></div><div><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:77.701%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.369%"></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:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Right-of-use Assets - Operating Lease, net</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets - Operating leases, net, at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">39,263 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of right-of-use assets</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:10pt;font-weight:400;line-height:100%">(3,647)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions</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:10pt;font-weight:400;line-height:100%">898 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remeasurement due to lease modification</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:10pt;font-weight:400;line-height:100%">(19,622)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment</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:10pt;font-weight:400;line-height:100%">(2,997)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets - Operating leases, net, at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">13,895 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div><span><br/></span></div><div><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:77.701%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.369%"></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:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Lease Obligations - Operating Leases</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease obligations - Operating leases, net, at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">43,638 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease payments</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:10pt;font-weight:400;line-height:100%">(5,668)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest accretion</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:10pt;font-weight:400;line-height:100%">1,631 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remeasurement due to lease modification</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:10pt;font-weight:400;line-height:100%">(19,622)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease obligations - Operating leases, net, at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">19,979 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to restore certain areas of the Redwood City facility that we are renting to its original form. We are expensing the asset retirement obligation over the term of the Redwood City lease. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$0.3 million and $0.5 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">as of September 30, 2023 and December 31, 2022, respectively, which are included in other liabilities on the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal in the three and nine months ended September 30, 2023 and 2022.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Lease and other information</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Finance lease costs</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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">18 </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:10pt;font-weight:400;line-height:100%">Operating lease costs</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:10pt;font-weight:400;line-height:100%">1,618 </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:10pt;font-weight:400;line-height:100%">1,831 </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:10pt;font-weight:400;line-height:100%">5,278 </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:10pt;font-weight:400;line-height:100%">5,491 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">40 </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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease costs</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (2)</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">1,618 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">1,831 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">5,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><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:10pt;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:10pt;font-weight:400;line-height:100%">5,549 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Short-term lease costs on leases with terms of over one month and less than one year.<br/></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> The Company had no variable lease costs.</span></div><div style="margin-top:9pt"><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:82.379%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.421%"></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:10pt;font-style:italic;font-weight:400;line-height:100%">Other information:</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%">Operating Leases</span></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:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4 years</span></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:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</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:10pt;font-weight:400;line-height:100%">6.7 </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:10pt;font-weight:400;line-height:100%">%</span></td></tr></table><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><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%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Cash paid </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(in thousands):</span></div></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 2px 13pt;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%">Operating cash flows from operating leases</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:10pt;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:10pt;font-weight:400;line-height:100%">5,668 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,658 </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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases were as follows (in thousands):</span><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:81.794%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">Years Ending December 31,</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%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 13pt;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%">2023 (remaining 3 months)</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:10pt;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:10pt;font-weight:400;line-height:100%">4,229 </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 2px 13pt;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%">2024</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:10pt;font-weight:400;line-height:100%">4,727 </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:10pt;font-weight:400;line-height:100%">2025</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:10pt;font-weight:400;line-height:100%">4,868 </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:10pt;font-weight:400;line-height:100%">2026</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:10pt;font-weight:400;line-height:100%">5,014 </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:10pt;font-weight:400;line-height:100%">2027</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:10pt;font-weight:400;line-height:100%">2,533 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,078 </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:10pt;font-weight:400;line-height:100%">Total minimum 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 #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:10pt;font-weight:400;line-height:100%">22,449 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,470 </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:10pt;font-weight:400;line-height:100%">Lease obligations</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:10pt;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:10pt;font-weight:400;line-height:100%">19,979 </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;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="9" 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:400;line-height:100%">Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:</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:10pt;font-weight:400;line-height:100%">Current portion of lease obligations - Operating leases</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:10pt;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:10pt;font-weight:400;line-height:100%">6,764 </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:10pt;font-weight:400;line-height:100%">Long-term lease obligations - 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:10pt;font-weight:400;line-height:100%">13,215 </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 19pt;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%">Total 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:10pt;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:10pt;font-weight:400;line-height:100%">19,979 </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:3pt"><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></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Commitments</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):</span><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:48.169%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.423%"></td><td style="width:0.1%"></td></tr><tr><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%">Payments Due by Period</span></td></tr><tr><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%">Total</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%">2023 (Remaining 3 Months)</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%">2024 and Thereafter</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:10pt;font-weight:400;line-height:100%">Facility maintenance agreement</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:10pt;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:10pt;font-weight:400;line-height:100%">1,084 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,039 </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:10pt;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:10pt;font-weight:400;line-height:100%">45 </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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Facility</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 30, 2017, we entered into a credit facility (the “Credit Facility”) with Western Alliance Bank consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. The right to take draws on the Term Debt expired on December 31, 2022. In March 2023, we terminated the Credit Facility with Western Alliance Bank.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may be involved in legal actions in the ordinary course of business, including inquiries and proceedings concerning business practices and intellectual property infringement, employee relations and other claims. We will recognize a loss contingency in the unaudited condensed consolidated financial statements when it is probable a liability has been incurred and the amount of the loss can be reasonably estimated. We will disclose any loss contingencies that do not meet both conditions if there is a reasonable possibility that a material loss may have been incurred. Gain contingencies are not recorded until they are realized.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnifications</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.</span></div> 77300 28200 37900 11200 1 P5Y 1 P5Y 1100000 1100000 36593 P10Y 1 P5Y 500000 3100000 500000 3100000 19600000 7700000 7700000 4700000 4700000 3000000 3000000 <div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tables below tables below show the balance of right-of-use assets and lease obligations as of January 1, 2023 and the balance as of September 30, 2023, including the changes during the period (in thousands):</span></div><div><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:77.701%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.369%"></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:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Right-of-use Assets - Operating Lease, net</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets - Operating leases, net, at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">39,263 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of right-of-use assets</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:10pt;font-weight:400;line-height:100%">(3,647)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions</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:10pt;font-weight:400;line-height:100%">898 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remeasurement due to lease modification</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:10pt;font-weight:400;line-height:100%">(19,622)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment</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:10pt;font-weight:400;line-height:100%">(2,997)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets - Operating leases, net, at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">13,895 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div><span><br/></span></div><div><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:77.701%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.369%"></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:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Lease Obligations - Operating Leases</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease obligations - Operating leases, net, at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">43,638 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease payments</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:10pt;font-weight:400;line-height:100%">(5,668)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest accretion</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:10pt;font-weight:400;line-height:100%">1,631 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remeasurement due to lease modification</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:10pt;font-weight:400;line-height:100%">(19,622)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease obligations - Operating leases, net, at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">19,979 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div> 39263000 3647000 898000 19622000 2997000 13895000 43638000 5668000 1631000 19622000 19979000 300000 500000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><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 September 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%">Nine Months Ended September 30,</span></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:10pt;font-weight:400;line-height:100%"> </span></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:10pt;font-weight:400;line-height:100%">Finance lease costs</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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">18 </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:10pt;font-weight:400;line-height:100%">Operating lease costs</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:10pt;font-weight:400;line-height:100%">1,618 </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:10pt;font-weight:400;line-height:100%">1,831 </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:10pt;font-weight:400;line-height:100%">5,278 </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:10pt;font-weight:400;line-height:100%">5,491 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">40 </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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease costs</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (2)</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">1,618 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">1,831 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">5,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><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:10pt;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:10pt;font-weight:400;line-height:100%">5,549 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Short-term lease costs on leases with terms of over one month and less than one year.<br/></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> The Company had no variable lease costs.</span></div><div style="margin-top:9pt"><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:82.379%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.421%"></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:10pt;font-style:italic;font-weight:400;line-height:100%">Other information:</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%">Operating Leases</span></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:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4 years</span></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:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</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:10pt;font-weight:400;line-height:100%">6.7 </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:10pt;font-weight:400;line-height:100%">%</span></td></tr></table><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><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%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Cash paid </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(in thousands):</span></div></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 2px 13pt;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%">Operating cash flows from operating leases</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:10pt;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:10pt;font-weight:400;line-height:100%">5,668 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,658 </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></table></div> 0 0 0 18000 1618000 1831000 5278000 5491000 0 0 0 40000 1618000 1831000 5278000 5549000 0 0 0 0 P3Y4M24D 0.067 5668000 4658000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases were as follows (in thousands):</span><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:81.794%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">Years Ending December 31,</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%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 13pt;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%">2023 (remaining 3 months)</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:10pt;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:10pt;font-weight:400;line-height:100%">4,229 </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 2px 13pt;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%">2024</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:10pt;font-weight:400;line-height:100%">4,727 </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:10pt;font-weight:400;line-height:100%">2025</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:10pt;font-weight:400;line-height:100%">4,868 </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:10pt;font-weight:400;line-height:100%">2026</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:10pt;font-weight:400;line-height:100%">5,014 </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:10pt;font-weight:400;line-height:100%">2027</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:10pt;font-weight:400;line-height:100%">2,533 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,078 </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:10pt;font-weight:400;line-height:100%">Total minimum 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 #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:10pt;font-weight:400;line-height:100%">22,449 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,470 </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:10pt;font-weight:400;line-height:100%">Lease obligations</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:10pt;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:10pt;font-weight:400;line-height:100%">19,979 </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;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="9" 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:400;line-height:100%">Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:</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:10pt;font-weight:400;line-height:100%">Current portion of lease obligations - Operating leases</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:10pt;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:10pt;font-weight:400;line-height:100%">6,764 </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:10pt;font-weight:400;line-height:100%">Long-term lease obligations - 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:10pt;font-weight:400;line-height:100%">13,215 </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 19pt;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%">Total 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:10pt;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:10pt;font-weight:400;line-height:100%">19,979 </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:3pt"><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></tr></table> 4229000 4727000 4868000 5014000 2533000 1078000 22449000 2470000 19979000 6764000 13215000 19979000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):</span><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:48.169%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.423%"></td><td style="width:0.1%"></td></tr><tr><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%">Payments Due by Period</span></td></tr><tr><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%">Total</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%">2023 (Remaining 3 Months)</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%">2024 and Thereafter</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:10pt;font-weight:400;line-height:100%">Facility maintenance agreement</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:10pt;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:10pt;font-weight:400;line-height:100%">1,084 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,039 </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:10pt;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:10pt;font-weight:400;line-height:100%">45 </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></table> 1084000 1039000 45000 10000000 5000000 0.80 0 Related Party Transactions<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Molecular Assemblies, Inc.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2020, we entered into a Stock Purchase Agreement with MAI, a privately held life sciences company, pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. Mr. Nicols, our former President and CEO until August 2022, also joined MAI’s board of directors in June 2020. Concurrently with our initial equity investment, we entered into a Master Collaboration and Research Agreement with MAI (the “MAI Agreement”), pursuant to which performed services utilizing our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology to improve DNA polymerase enzymes in exchange for compensation in the form of additional shares of MAI's Series A and B preferred stock which are valued based on the observed transaction price of similar securities that MAI issued to third parties. We completed the R&amp;D service with MAI pursuant to the MAI Agreement during the first quarter of 2022. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">addition to our initial equity investment and the shares we have received under the MAI Agreement, in April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in September 2021, we purchased 9,198,423 shares of MAI's Series B preferred stock for $7.0 million.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues recognized from transactions with MAI in the three and nine months ended September 30, 2023, and subsequent to the related party period which ended in August 2022, are included in the condensed consolidated statement of operations. We recognized $1.0 million </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and $1.2 million in research and development revenue from transactions with MAI in the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">three and nine months ended September 30, 2022, respectively, and we recognized $0.2 million and $0.4 million in product revenue from transactions with MAI in the three and nine months ended September 30, 2022, respectively, during the related party period</span>. 1587050 1000000 1000000 600000 9198423 7000000 1000000 1200000 200000 400000 Segment, Geographical and Other Revenue Information<div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, we managed our business as</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> two b</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">usiness segments: Performance Enzymes and Novel Biotherapeutics. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "corporate costs." All items not included in income (loss) from operations are excluded from the business segments. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. All of our long lived assets are located in the United States.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Factors considered in historically determining the </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">two re</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">portable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides financial information by our reportable business segments along with a reconciliation to consolidated loss before income taxes (in thousands):</span><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Three Months Ended September 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%">Three Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;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;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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:700;line-height:100%">Revenues:</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><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 2px 13pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">3,315 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">3,882 </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:10pt;font-weight:400;line-height:100%">3,104 </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:10pt;font-weight:400;line-height:100%">3,324 </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:10pt;font-weight:400;line-height:100%">6,428 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;font-weight:400;line-height:100%">8,710 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">9,277 </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:10pt;font-weight:400;line-height:100%">31,146 </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:10pt;font-weight:400;line-height:100%">3,324 </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:10pt;font-weight:400;line-height:100%">34,470 </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:700;line-height:100%">Costs and operating expenses:</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></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:10pt;font-weight:400;line-height:100%">Cost of product revenue</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:10pt;font-weight:400;line-height:100%">2,249 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,249 </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:10pt;font-weight:400;line-height:100%">9,786 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,786 </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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">8,146 </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:10pt;font-weight:400;line-height:100%">4,377 </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:10pt;font-weight:400;line-height:100%">12,523 </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:10pt;font-weight:400;line-height:100%">6,782 </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:10pt;font-weight:400;line-height:100%">13,855 </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:10pt;font-weight:400;line-height:100%">20,637 </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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">1,748 </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:10pt;font-weight:400;line-height:100%">386 </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:10pt;font-weight:400;line-height:100%">2,134 </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:10pt;font-weight:400;line-height:100%">3,791 </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:10pt;font-weight:400;line-height:100%">888 </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:10pt;font-weight:400;line-height:100%">4,679 </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:10pt;font-weight:400;line-height:100%">Restructuring charges</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:10pt;font-weight:400;line-height:100%">1,182 </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:10pt;font-weight:400;line-height:100%">1,217 </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:10pt;font-weight:400;line-height:100%">2,399 </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:10pt;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:10pt;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:10pt;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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset impairment and other charges </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</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:10pt;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:10pt;font-weight:400;line-height:100%">778 </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:10pt;font-weight:400;line-height:100%">778 </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:10pt;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:10pt;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:10pt;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;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%">Total segment costs and operating expenses</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:10pt;font-weight:400;line-height:100%">13,325 </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="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:10pt;font-weight:400;line-height:100%">6,758 </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="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:10pt;font-weight:400;line-height:100%">20,083 </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="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:10pt;font-weight:400;line-height:100%">20,359 </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="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:10pt;font-weight:400;line-height:100%">14,743 </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="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:10pt;font-weight:400;line-height:100%">35,102 </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:10pt;font-weight:400;line-height:100%">Income (loss) from operations</span></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:10pt;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:10pt;font-weight:400;line-height:100%">(4,615)</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(6,191)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,806)</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;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:10pt;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:10pt;font-weight:400;line-height:100%">10,787 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">(11,419)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(632)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></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><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:10pt;font-weight:400;line-height:100%">(22,736)</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;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><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:10pt;font-weight:400;line-height:100%">(7,947)</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:10pt;font-weight:400;line-height:100%">Unallocated depreciation and amortization</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="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:10pt;font-weight:400;line-height:100%">(1,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="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="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:10pt;font-weight:400;line-height:100%">(1,405)</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:10pt;font-weight:400;line-height:100%">Loss before income taxes</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(34,899)</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: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 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:10pt;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:10pt;font-weight:400;line-height:100%">(9,984)</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:3pt"><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="border-top:3pt double #000;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="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt"><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Nine Months Ended September 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%">Nine Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;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;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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:700;line-height:100%">Revenues:</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><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 2px 13.75pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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 13.75pt;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%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">12,696 </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:10pt;font-weight:400;line-height:100%">6,079 </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:10pt;font-weight:400;line-height:100%">18,775 </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:10pt;font-weight:400;line-height:100%">7,398 </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:10pt;font-weight:400;line-height:100%">7,441 </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:10pt;font-weight:400;line-height:100%">14,839 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;font-weight:400;line-height:100%">37,503 </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:10pt;font-weight:400;line-height:100%">6,079 </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:10pt;font-weight:400;line-height:100%">43,582 </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:10pt;font-weight:400;line-height:100%">100,774 </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:10pt;font-weight:400;line-height:100%">7,441 </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:10pt;font-weight:400;line-height:100%">108,215 </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:700;line-height:100%">Costs and operating expenses:</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;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%">Cost of product revenue</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:10pt;font-weight:400;line-height:100%">9,947 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,947 </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:10pt;font-weight:400;line-height:100%">29,577 </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:10pt;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:10pt;font-weight:400;line-height:100%">29,577 </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"><div style="padding-left:12.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">24,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:10pt;font-weight:400;line-height:100%">19,929 </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:10pt;font-weight:400;line-height:100%">44,029 </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:10pt;font-weight:400;line-height:100%">19,833 </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:10pt;font-weight:400;line-height:100%">37,279 </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:10pt;font-weight:400;line-height:100%">57,112 </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"><div style="padding-left:12.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">6,578 </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:10pt;font-weight:400;line-height:100%">1,528 </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:10pt;font-weight:400;line-height:100%">8,106 </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:10pt;font-weight:400;line-height:100%">11,208 </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:10pt;font-weight:400;line-height:100%">2,288 </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:10pt;font-weight:400;line-height:100%">13,496 </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 13.75pt;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%">Restructuring charges</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:10pt;font-weight:400;line-height:100%">1,182 </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:10pt;font-weight:400;line-height:100%">1,362 </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:10pt;font-weight:400;line-height:100%">2,544 </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:10pt;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:10pt;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:10pt;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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset impairment and other charges</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (2)</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:10pt;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:10pt;font-weight:400;line-height:100%">778 </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:10pt;font-weight:400;line-height:100%">778 </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:10pt;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:10pt;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:10pt;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;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%">Total segment costs and operating expenses</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:10pt;font-weight:400;line-height:100%">41,807 </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="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:10pt;font-weight:400;line-height:100%">23,597 </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="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:10pt;font-weight:400;line-height:100%">65,404 </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="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:10pt;font-weight:400;line-height:100%">60,618 </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="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:10pt;font-weight:400;line-height:100%">39,567 </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="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:10pt;font-weight:400;line-height:100%">100,185 </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:10pt;font-weight:400;line-height:100%">Income (loss) from operations</span></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:10pt;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:10pt;font-weight:400;line-height:100%">(4,304)</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(17,518)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,822)</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;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:10pt;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:10pt;font-weight:400;line-height:100%">40,156 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">(32,126)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,030 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></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><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:10pt;font-weight:400;line-height:100%">(42,890)</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;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><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:10pt;font-weight:400;line-height:100%">(24,940)</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:10pt;font-weight:400;line-height:100%">Unallocated depreciation and amortization</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="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:10pt;font-weight:400;line-height:100%">(4,302)</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><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:10pt;font-weight:400;line-height:100%">(3,953)</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:10pt;font-weight:400;line-height:100%">Loss before income taxes</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(69,014)</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: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 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:10pt;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:10pt;font-weight:400;line-height:100%">(20,863)</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:3pt"><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="border-top:3pt double #000;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="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.<br/></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Impairment charge of $0.8 million is related to the goodwill allocated to the Novel Biotherapeutics segment.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expenses, unallocated asset impairment and restructuring charges, interest income, and other income (expense), net.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides stock-based compensation expense in</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">cluded in loss from operations (in thousands):</span><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:14.543%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.704%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">Three Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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="21" 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:#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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;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;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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:10pt;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:10pt;font-weight:400;line-height:100%">903 </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:10pt;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:10pt;font-weight:400;line-height:100%">(235)</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:10pt;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:10pt;font-weight:400;line-height:100%">1,615 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,283 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,593 </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:10pt;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:10pt;font-weight:400;line-height:100%">414 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,524 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,531 </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="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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="21" 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="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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;font-weight:700;line-height:100%">Total</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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:10pt;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:10pt;font-weight:400;line-height:100%">2,861 </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:10pt;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:10pt;font-weight:400;line-height:100%">98 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,849 </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:10pt;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:10pt;font-weight:400;line-height:100%">7,808 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,776 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,182 </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:10pt;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:10pt;font-weight:400;line-height:100%">5,642 </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:10pt;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:10pt;font-weight:400;line-height:100%">11,600 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Significant Customers</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of our total revenues were as follows:</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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%">Percentage of Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">Three Months Ended September 30,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" 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%">Nine Months Ended September 30,</span></td></tr><tr><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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></div></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:10pt;font-weight:400;line-height:100%">20 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">39 </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:10pt;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:10pt;font-weight:400;line-height:100%">15 </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:10pt;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:10pt;font-weight:400;line-height:100%">54 </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:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">13 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:10pt;font-weight:400;line-height:100%">*</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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">10 </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:10pt;font-weight:400;line-height:100%">%</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></div></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:10pt;font-weight:400;line-height:100%">*</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:10pt;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:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">* Percentage was less than 10%</span></div></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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><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%">Percentage of Accounts Receivables as of</span></td></tr><tr><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%">September 30, 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%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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;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:10pt;font-weight:400;line-height:100%">53 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</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:10pt;font-weight:400;line-height:100%">15 </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:10pt;font-weight:400;line-height:100%">%</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</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:10pt;font-weight:400;line-height:100%">38 </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:10pt;font-weight:400;line-height:100%">%</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</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:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">* Percentage was less than 10% </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></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Geographical Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenues are identified by the location of the customer and consist of the following (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></td></tr><tr><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:10pt;font-weight:400;line-height:100%">Revenues</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><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 13pt;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%">Americas</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:10pt;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:10pt;font-weight:400;line-height:100%">4,278 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,822 </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:10pt;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:10pt;font-weight:400;line-height:100%">10,798 </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:10pt;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:10pt;font-weight:400;line-height:100%">12,167 </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:10pt;font-weight:400;line-height:100%">EMEA</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:10pt;font-weight:400;line-height:100%">3,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 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:10pt;font-weight:400;line-height:100%">5,987 </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:10pt;font-weight:400;line-height:100%">14,630 </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:10pt;font-weight:400;line-height:100%">14,805 </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:10pt;font-weight:400;line-height:100%">APAC</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:10pt;font-weight:400;line-height:100%">1,808 </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:10pt;font-weight:400;line-height:100%">23,661 </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:10pt;font-weight:400;line-height:100%">18,154 </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:10pt;font-weight:400;line-height:100%">81,243 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:3pt"><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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable long-lived assets by location was as follows (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">United States</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:10pt;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:10pt;font-weight:400;line-height:100%">29,177 </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:10pt;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:10pt;font-weight:400;line-height:100%">61,877 </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:3pt"><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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable goodwill by reporting unit was as follows (in thousands):</span><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:47.438%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.424%"></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:10pt;font-weight:700;line-height:100%">Performance Enzymes</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:10pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;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:10pt;font-weight:400;line-height:100%">778 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,241 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment</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:10pt;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:10pt;font-weight:400;line-height:100%">(778)</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:10pt;font-weight:400;line-height:100%">(778)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional information on the goodwill impairment, see Note 7, “Balance Sheet Details.”</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, we managed our business as</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> two b</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">usiness segments: Performance Enzymes and Novel Biotherapeutics. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2023, we announced a restructuring of our business and that we are discontinuing investment in certain development programs, primarily in Novel Biotherapeutics.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "corporate costs." All items not included in income (loss) from operations are excluded from the business segments. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. All of our long lived assets are located in the United States.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Factors considered in historically determining the </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">two re</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">portable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.</span></div> 2 2 <div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides financial information by our reportable business segments along with a reconciliation to consolidated loss before income taxes (in thousands):</span><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Three Months Ended September 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%">Three Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;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;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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:700;line-height:100%">Revenues:</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><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 2px 13pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">5,395 </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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">28,042 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">3,315 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">3,882 </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:10pt;font-weight:400;line-height:100%">3,104 </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:10pt;font-weight:400;line-height:100%">3,324 </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:10pt;font-weight:400;line-height:100%">6,428 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;font-weight:400;line-height:100%">8,710 </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:10pt;font-weight:400;line-height:100%">567 </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:10pt;font-weight:400;line-height:100%">9,277 </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:10pt;font-weight:400;line-height:100%">31,146 </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:10pt;font-weight:400;line-height:100%">3,324 </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:10pt;font-weight:400;line-height:100%">34,470 </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:700;line-height:100%">Costs and operating expenses:</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></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:10pt;font-weight:400;line-height:100%">Cost of product revenue</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:10pt;font-weight:400;line-height:100%">2,249 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,249 </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:10pt;font-weight:400;line-height:100%">9,786 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,786 </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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">8,146 </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:10pt;font-weight:400;line-height:100%">4,377 </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:10pt;font-weight:400;line-height:100%">12,523 </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:10pt;font-weight:400;line-height:100%">6,782 </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:10pt;font-weight:400;line-height:100%">13,855 </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:10pt;font-weight:400;line-height:100%">20,637 </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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">1,748 </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:10pt;font-weight:400;line-height:100%">386 </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:10pt;font-weight:400;line-height:100%">2,134 </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:10pt;font-weight:400;line-height:100%">3,791 </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:10pt;font-weight:400;line-height:100%">888 </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:10pt;font-weight:400;line-height:100%">4,679 </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:10pt;font-weight:400;line-height:100%">Restructuring charges</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:10pt;font-weight:400;line-height:100%">1,182 </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:10pt;font-weight:400;line-height:100%">1,217 </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:10pt;font-weight:400;line-height:100%">2,399 </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:10pt;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:10pt;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:10pt;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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset impairment and other charges </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</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:10pt;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:10pt;font-weight:400;line-height:100%">778 </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:10pt;font-weight:400;line-height:100%">778 </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:10pt;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:10pt;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:10pt;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;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%">Total segment costs and operating expenses</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:10pt;font-weight:400;line-height:100%">13,325 </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="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:10pt;font-weight:400;line-height:100%">6,758 </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="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:10pt;font-weight:400;line-height:100%">20,083 </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="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:10pt;font-weight:400;line-height:100%">20,359 </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="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:10pt;font-weight:400;line-height:100%">14,743 </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="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:10pt;font-weight:400;line-height:100%">35,102 </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:10pt;font-weight:400;line-height:100%">Income (loss) from operations</span></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:10pt;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:10pt;font-weight:400;line-height:100%">(4,615)</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(6,191)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,806)</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;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:10pt;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:10pt;font-weight:400;line-height:100%">10,787 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">(11,419)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(632)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></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><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:10pt;font-weight:400;line-height:100%">(22,736)</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;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><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:10pt;font-weight:400;line-height:100%">(7,947)</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:10pt;font-weight:400;line-height:100%">Unallocated depreciation and amortization</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="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:10pt;font-weight:400;line-height:100%">(1,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="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="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:10pt;font-weight:400;line-height:100%">(1,405)</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:10pt;font-weight:400;line-height:100%">Loss before income taxes</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(34,899)</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: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 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:10pt;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:10pt;font-weight:400;line-height:100%">(9,984)</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:3pt"><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="border-top:3pt double #000;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="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt"><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><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%">Nine Months Ended September 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%">Nine Months Ended September 30, 2022</span></td></tr><tr><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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;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;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:8pt;font-weight:700;line-height:100%">Performance Enzymes</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:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:8pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:700;line-height:100%">Revenues:</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><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 2px 13.75pt;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%">Product revenue</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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">24,807 </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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">93,376 </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 13.75pt;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%">Research and development revenue</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:10pt;font-weight:400;line-height:100%">12,696 </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:10pt;font-weight:400;line-height:100%">6,079 </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:10pt;font-weight:400;line-height:100%">18,775 </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:10pt;font-weight:400;line-height:100%">7,398 </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:10pt;font-weight:400;line-height:100%">7,441 </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:10pt;font-weight:400;line-height:100%">14,839 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;font-weight:400;line-height:100%">37,503 </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:10pt;font-weight:400;line-height:100%">6,079 </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:10pt;font-weight:400;line-height:100%">43,582 </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:10pt;font-weight:400;line-height:100%">100,774 </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:10pt;font-weight:400;line-height:100%">7,441 </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:10pt;font-weight:400;line-height:100%">108,215 </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:700;line-height:100%">Costs and operating expenses:</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.75pt;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%">Cost of product revenue</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:10pt;font-weight:400;line-height:100%">9,947 </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:10pt;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:10pt;font-weight:400;line-height:100%">9,947 </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:10pt;font-weight:400;line-height:100%">29,577 </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:10pt;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:10pt;font-weight:400;line-height:100%">29,577 </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"><div style="padding-left:12.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">24,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:10pt;font-weight:400;line-height:100%">19,929 </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:10pt;font-weight:400;line-height:100%">44,029 </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:10pt;font-weight:400;line-height:100%">19,833 </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:10pt;font-weight:400;line-height:100%">37,279 </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:10pt;font-weight:400;line-height:100%">57,112 </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"><div style="padding-left:12.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</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:10pt;font-weight:400;line-height:100%">6,578 </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:10pt;font-weight:400;line-height:100%">1,528 </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:10pt;font-weight:400;line-height:100%">8,106 </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:10pt;font-weight:400;line-height:100%">11,208 </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:10pt;font-weight:400;line-height:100%">2,288 </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:10pt;font-weight:400;line-height:100%">13,496 </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 13.75pt;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%">Restructuring charges</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:10pt;font-weight:400;line-height:100%">1,182 </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:10pt;font-weight:400;line-height:100%">1,362 </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:10pt;font-weight:400;line-height:100%">2,544 </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:10pt;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:10pt;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:10pt;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"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset impairment and other charges</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (2)</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:10pt;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:10pt;font-weight:400;line-height:100%">778 </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:10pt;font-weight:400;line-height:100%">778 </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:10pt;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:10pt;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:10pt;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;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%">Total segment costs and operating expenses</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:10pt;font-weight:400;line-height:100%">41,807 </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="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:10pt;font-weight:400;line-height:100%">23,597 </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="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:10pt;font-weight:400;line-height:100%">65,404 </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="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:10pt;font-weight:400;line-height:100%">60,618 </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="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:10pt;font-weight:400;line-height:100%">39,567 </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="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:10pt;font-weight:400;line-height:100%">100,185 </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:10pt;font-weight:400;line-height:100%">Income (loss) from operations</span></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:10pt;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:10pt;font-weight:400;line-height:100%">(4,304)</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(17,518)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,822)</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;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:10pt;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:10pt;font-weight:400;line-height:100%">40,156 </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 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:10pt;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:10pt;font-weight:400;line-height:100%">(32,126)</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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,030 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></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><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:10pt;font-weight:400;line-height:100%">(42,890)</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;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><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:10pt;font-weight:400;line-height:100%">(24,940)</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:10pt;font-weight:400;line-height:100%">Unallocated depreciation and amortization</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="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:10pt;font-weight:400;line-height:100%">(4,302)</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><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:10pt;font-weight:400;line-height:100%">(3,953)</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:10pt;font-weight:400;line-height:100%">Loss before income taxes</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 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:10pt;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:10pt;font-weight:400;line-height:100%">(69,014)</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: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 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:10pt;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:10pt;font-weight:400;line-height:100%">(20,863)</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:3pt"><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="border-top:3pt double #000;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="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.<br/></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Impairment charge of $0.8 million is related to the goodwill allocated to the Novel Biotherapeutics segment.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expenses, unallocated asset impairment and restructuring charges, interest income, and other income (expense), net.</span></div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides stock-based compensation expense in</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">cluded in loss from operations (in thousands):</span><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:14.543%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.704%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">Three Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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="21" 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:#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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;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;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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:10pt;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:10pt;font-weight:400;line-height:100%">903 </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:10pt;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:10pt;font-weight:400;line-height:100%">(235)</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:10pt;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:10pt;font-weight:400;line-height:100%">1,615 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,283 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,593 </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:10pt;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:10pt;font-weight:400;line-height:100%">414 </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:10pt;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:10pt;font-weight:400;line-height:100%">2,524 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,531 </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="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" 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%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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="21" 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="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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;font-weight:700;line-height:100%">Total</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:7pt;font-weight:700;line-height:100%">Performance Enzymes</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:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:7pt;font-weight:700;line-height:100%">Corporate cost</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:7pt;font-weight:700;line-height:100%">Total</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:10pt;font-weight:400;line-height:100%">Stock-based compensation</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:10pt;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:10pt;font-weight:400;line-height:100%">2,861 </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:10pt;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:10pt;font-weight:400;line-height:100%">98 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,849 </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:10pt;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:10pt;font-weight:400;line-height:100%">7,808 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,776 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,182 </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:10pt;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:10pt;font-weight:400;line-height:100%">5,642 </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:10pt;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:10pt;font-weight:400;line-height:100%">11,600 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 5395000 0 5395000 28042000 0 28042000 3315000 567000 3882000 3104000 3324000 6428000 8710000 567000 9277000 31146000 3324000 34470000 2249000 0 2249000 9786000 0 9786000 8146000 4377000 12523000 6782000 13855000 20637000 1748000 386000 2134000 3791000 888000 4679000 1182000 1217000 2399000 0 0 0 0 778000 778000 0 0 0 13325000 6758000 20083000 20359000 14743000 35102000 -4615000 -6191000 -10806000 10787000 -11419000 -632000 -22736000 -7947000 1357000 1405000 -34899000 -9984000 24807000 0 24807000 93376000 0 93376000 12696000 6079000 18775000 7398000 7441000 14839000 37503000 6079000 43582000 100774000 7441000 108215000 9947000 0 9947000 29577000 0 29577000 24100000 19929000 44029000 19833000 37279000 57112000 6578000 1528000 8106000 11208000 2288000 13496000 1182000 1362000 2544000 0 0 0 0 778000 778000 0 0 0 41807000 23597000 65404000 60618000 39567000 100185000 -4304000 -17518000 -21822000 40156000 -32126000 8030000 -42890000 -24940000 4302000 3953000 -69014000 -20863000 800000 800000 903000 -235000 1615000 2283000 1593000 414000 2524000 4531000 2861000 98000 4849000 4776000 1182000 5642000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Significant Customers</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of our total revenues were as follows:</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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%">Percentage of Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">Three Months Ended September 30,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" 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%">Nine Months Ended September 30,</span></td></tr><tr><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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></div></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:10pt;font-weight:400;line-height:100%">20 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">39 </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:10pt;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:10pt;font-weight:400;line-height:100%">15 </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:10pt;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:10pt;font-weight:400;line-height:100%">54 </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:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">13 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:10pt;font-weight:400;line-height:100%">*</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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">10 </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:10pt;font-weight:400;line-height:100%">%</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></div></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:10pt;font-weight:400;line-height:100%">*</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:10pt;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:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">* Percentage was less than 10%</span></div></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></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><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%">Percentage of Accounts Receivables as of</span></td></tr><tr><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%">September 30, 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%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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;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:10pt;font-weight:400;line-height:100%">53 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</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:10pt;font-weight:400;line-height:100%">15 </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:10pt;font-weight:400;line-height:100%">%</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</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:10pt;font-weight:400;line-height:100%">38 </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:10pt;font-weight:400;line-height:100%">%</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</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:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">* Percentage was less than 10% </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></tr></table></div> 0.20 0.39 0.15 0.54 0.13 0.10 0.10 0.53 0.15 0.10 0.38 0.17 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenues are identified by the location of the customer and consist of the following (in thousands):</span><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:30.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.425%"></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:10pt;font-weight:400;line-height:100%"> </span></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 September 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%">Nine Months Ended September 30,</span></td></tr><tr><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:10pt;font-weight:400;line-height:100%">Revenues</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><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 13pt;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%">Americas</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:10pt;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:10pt;font-weight:400;line-height:100%">4,278 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,822 </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:10pt;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:10pt;font-weight:400;line-height:100%">10,798 </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:10pt;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:10pt;font-weight:400;line-height:100%">12,167 </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:10pt;font-weight:400;line-height:100%">EMEA</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:10pt;font-weight:400;line-height:100%">3,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 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:10pt;font-weight:400;line-height:100%">5,987 </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:10pt;font-weight:400;line-height:100%">14,630 </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:10pt;font-weight:400;line-height:100%">14,805 </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:10pt;font-weight:400;line-height:100%">APAC</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:10pt;font-weight:400;line-height:100%">1,808 </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:10pt;font-weight:400;line-height:100%">23,661 </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:10pt;font-weight:400;line-height:100%">18,154 </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:10pt;font-weight:400;line-height:100%">81,243 </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:10pt;font-weight:400;line-height:100%">Total revenues</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:10pt;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:10pt;font-weight:400;line-height:100%">9,277 </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:10pt;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:10pt;font-weight:400;line-height:100%">34,470 </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:10pt;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:10pt;font-weight:400;line-height:100%">43,582 </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:10pt;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:10pt;font-weight:400;line-height:100%">108,215 </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:3pt"><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></table> 4278000 4822000 10798000 12167000 3191000 5987000 14630000 14805000 1808000 23661000 18154000 81243000 9277000 34470000 43582000 108215000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable long-lived assets by location was as follows (in thousands):</span><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:65.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></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%">September 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:10pt;font-weight:400;line-height:100%">United States</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:10pt;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:10pt;font-weight:400;line-height:100%">29,177 </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:10pt;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:10pt;font-weight:400;line-height:100%">61,877 </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:3pt"><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></table> 29177000 61877000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable goodwill by reporting unit was as follows (in thousands):</span><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:47.438%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.424%"></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:10pt;font-weight:700;line-height:100%">Performance Enzymes</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:10pt;font-weight:700;line-height:100%">Novel Biotherapeutics</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:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at January 1, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;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:10pt;font-weight:400;line-height:100%">778 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,241 </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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment</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:10pt;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:10pt;font-weight:400;line-height:100%">(778)</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:10pt;font-weight:400;line-height:100%">(778)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at September 30, 2023</span></div></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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;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:10pt;font-weight:400;line-height:100%">— </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:10pt;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:10pt;font-weight:400;line-height:100%">2,463 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 2463000 778000 3241000 0 778000 778000 2463000 0 2463000 Allowance for Credit Losses<div style="margin-top:9pt;text-indent:18pt"><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 financial assets allowance for credit losses (in thousands):</span><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:26.970%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.449%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">Three Months Ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;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%">Nine Months Ended September 30,</span></td></tr><tr><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="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="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:10pt;font-weight:400;line-height:100%">Balance at beginning of period</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:10pt;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:10pt;font-weight:400;line-height:100%">133 </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:10pt;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:10pt;font-weight:400;line-height:100%">109 </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:10pt;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:10pt;font-weight:400;line-height:100%">163 </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 #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:10pt;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:10pt;font-weight:400;line-height:100%">416 </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 2px 13pt;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%">Provision for credit losses</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:10pt;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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">Write-offs</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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">(30)</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:10pt;font-weight:400;line-height:100%">(257)</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:10pt;font-weight:400;line-height:100%">Adjustment to the existing allowance</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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">(50)</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:10pt;font-weight:400;line-height:100%">Balance at end of period</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:10pt;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:10pt;font-weight:400;line-height:100%">133 </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:10pt;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:10pt;font-weight:400;line-height:100%">109 </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:10pt;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:10pt;font-weight:400;line-height:100%">133 </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:10pt;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:10pt;font-weight:400;line-height:100%">109 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables summarize accounts receivable by aging category (in thousands):</span><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" 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%">September 30, 2023</span></td></tr><tr><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%">Current</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%">31-60 Days</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%">61-90 Days</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%">91 Days and over</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%">Total over 31 Days</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%">Total balance</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:10pt;font-weight:400;line-height:100%">Accounts receivable</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:10pt;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:10pt;font-weight:400;line-height:100%">6,835 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,690 </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:10pt;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:10pt;font-weight:400;line-height:100%">22 </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:10pt;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:10pt;font-weight:400;line-height:100%">82 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,794 </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:10pt;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:10pt;font-weight:400;line-height:100%">11,629 </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:3pt"><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><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></table></div><div style="margin-top:9pt"><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" 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="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%">Current</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%">31-60 Days</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%">61-90 Days</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%">91 Days and over</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%">Total over 31 Days</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%">Total balance</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:10pt;font-weight:400;line-height:100%">Accounts receivable</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:10pt;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:10pt;font-weight:400;line-height:100%">28,896 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,747 </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:10pt;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:10pt;font-weight:400;line-height:100%">469 </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:10pt;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:10pt;font-weight:400;line-height:100%">792 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,008 </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:10pt;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:10pt;font-weight:400;line-height:100%">31,904 </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:3pt"><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><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></table></div> <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 financial assets allowance for credit losses (in thousands):</span><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:26.970%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.449%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">Three Months Ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;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%">Nine Months Ended September 30,</span></td></tr><tr><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="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="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:10pt;font-weight:400;line-height:100%">Balance at beginning of period</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:10pt;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:10pt;font-weight:400;line-height:100%">133 </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:10pt;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:10pt;font-weight:400;line-height:100%">109 </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:10pt;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:10pt;font-weight:400;line-height:100%">163 </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 #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:10pt;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:10pt;font-weight:400;line-height:100%">416 </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 2px 13pt;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%">Provision for credit losses</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:10pt;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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">Write-offs</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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">(30)</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:10pt;font-weight:400;line-height:100%">(257)</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:10pt;font-weight:400;line-height:100%">Adjustment to the existing allowance</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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%">(50)</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:10pt;font-weight:400;line-height:100%">Balance at end of period</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:10pt;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:10pt;font-weight:400;line-height:100%">133 </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:10pt;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:10pt;font-weight:400;line-height:100%">109 </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:10pt;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:10pt;font-weight:400;line-height:100%">133 </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:10pt;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:10pt;font-weight:400;line-height:100%">109 </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:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 133000 109000 163000 416000 0 0 0 0 0 0 -30000 -257000 0 0 0 -50000 133000 109000 133000 109000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables summarize accounts receivable by aging category (in thousands):</span><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" 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%">September 30, 2023</span></td></tr><tr><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%">Current</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%">31-60 Days</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%">61-90 Days</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%">91 Days and over</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%">Total over 31 Days</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%">Total balance</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:10pt;font-weight:400;line-height:100%">Accounts receivable</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:10pt;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:10pt;font-weight:400;line-height:100%">6,835 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,690 </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:10pt;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:10pt;font-weight:400;line-height:100%">22 </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:10pt;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:10pt;font-weight:400;line-height:100%">82 </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:10pt;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:10pt;font-weight:400;line-height:100%">4,794 </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:10pt;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:10pt;font-weight:400;line-height:100%">11,629 </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:3pt"><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><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></table></div><div style="margin-top:9pt"><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" 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="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%">Current</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%">31-60 Days</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%">61-90 Days</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%">91 Days and over</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%">Total over 31 Days</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%">Total balance</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:10pt;font-weight:400;line-height:100%">Accounts receivable</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:10pt;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:10pt;font-weight:400;line-height:100%">28,896 </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:10pt;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:10pt;font-weight:400;line-height:100%">1,747 </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:10pt;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:10pt;font-weight:400;line-height:100%">469 </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:10pt;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:10pt;font-weight:400;line-height:100%">792 </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:10pt;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:10pt;font-weight:400;line-height:100%">3,008 </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:10pt;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:10pt;font-weight:400;line-height:100%">31,904 </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:3pt"><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><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></table></div> 6835000 4690000 22000 82000 4794000 11629000 28896000 1747000 469000 792000 3008000 31904000 Restructuring Charges<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2023, in alignment with our enhanced strategic focus, we announced a restructuring of our business, including a plan for a workforce reduction of approximately 25%. During the</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> three and nine months ended September 30, 2023, w</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e recorded a restructuring charge of $3.1 million related to severance and related benefit costs. As of September 30, 2023, we have accrued $1.9 million as a current liability within accrued compensation on our condensed consolidated balance sheets, which is expected to be paid in the fourth quarter of 2023. We do not expect to record any significant future charges related to the restructuring plan.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> In November 2022, we announced a plan for a workforce reduction of approximately 18% to realign and optimize our workforce requirements in alignment with our refined corporate strategy. The plan was substantially completed in December 2022 and severance costs were paid through the third quarter of 2023. During the three and nine months ended September 30, 2023, we recorded additional restructuring charges of nil and $0.2 million, respectively, related to severance, bonus and other termination benefits in connection with the workforce reduction announced in November 2022. We do not expect to record any future charges related to the restructuring plan initiated in 2022.</span></div> 0.25 3100000 1900000 0.18 0 200000 Assets Held For Sale<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2023, we announced our plan to consolidate operations from our San Carlos facility to our headquarters in Redwood City. As part of this plan, we entered into agreements to sell certain laboratory equipment located in our San Carlos facility through an asset auction and as part of the lease assignment of the San Carlos Space to Vaxcyte (see further discussion at Note 10, “Commitments and Contingencies”). The fixed assets that will be sold as part of this transaction met the assets held for sale criteria and were reclassified to assets held for sale as of September 30, 2023. The Company determined that the carrying value of the assets held for sale exceeds fair value less costs to sell, which resulted in a write-down o</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f $1.5 million, presented within the asset impairment and other charges line item in the condensed consolidated statements of operations, for the quarter ended September 30, 2023. As of September 30, 2023, the Company has presented $0.6 million of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> fixed assets expected to be sold during the fourth quarter of 2023 as a current asset under the caption of “assets held for sale” in the accompanying condensed consolidated balance sheets.</span> 1500000 600000 false false false false EXCEL 89 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( (B!8U<'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 " "(@6-7$ZX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)OIVE1)'1S43PI""XHWL)D=C?8M"$9:??M;>-N%]$'\)B9/]]\ M ]-B4#A$>HY#H,B.TM7DNSXI#!MQ8 X*(.&!O$GEG.CGYFZ(WO#\C'L(!C_, MGJ"NJAOPQ,8:-K B[ 2A6XM*HQD>(@GO,45'SYCEV$6@3KRU',"64H0>ID8 MCE/7P@6PP)BB3]\%LBLQ5__$Y@Z(4W)*;DV-XUB.3<[-.TAX>WI\R>L6KD]L M>J3Y5W**CX$VXCSYM;F[WSX(75=U4TA95,VVKI24ZOKV?7']X7<1]H-U._>/ MC<^"NH5?=Z&_ %!+ P04 " "(@6-7F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M (B!8U>@1SK?QP4 ,(> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU,")9,(&P39HB3;#/=S;(AO6P[_2!L 9ZU+5>6(?GW M/;+!3E+YP'B6+XEOYT6/CBZOI(N-5%^SE1":/,51DEUV5EJG[WJ]S%^)F&>G M,A4)O%E(%7,-MVK9RU(E>% $Q5&/."**C!*4X]^M M:*?Z31/X\GJG?EO \R<9\*3T1]AH%>7G?,."<2"YY%^D)M?Q!;HS.CY,LJ* MOV13?MOO=XB?9UK&VV H01PFY7_^M*V(EP&L(8!M ]B; -KT"^XVP"U RY(5 M6-=<\_&%DANBS->@9BZ*NBFB@29,3!IG6L';$.+TV)-KH<@4,D:Z)%MQ);*+ MG@9A\[KG;T6N2A'6(#(B'V6B5QFY20(1O([O08&J4K%=J:X8*C@3Z2EQG1/" M'.9:RN/AX9]\W13^JCAN54ENH>>BE?3W9)YI!>WN'UL-E0I]NX+IC.^RE/OB ML@.]+1-J+3KC'[ZC ^=G&]XW$GL%VZ]@^YCZ^%KZ.?1331Z?4V$CQ<.IT_UL M0T*C6B*=54AGAR%]SKG20D7/Y$&D4FD;'BZE56ZK% ^-:HDWJ/ &A^%-A0IE M8'HA@<' FCQIWC1T/C6_).:PXAP>V3,5A'BFF@>8\XEH+'F761*)A+0'/ M*\!SM% WB0[U,[D-(T'N\W@NE T,UW &MH0;57"C0^ >Q#(T MPRBD\9['UC:*ZW@R$$]A=E(6["[Q3VVDJ$9+4NK4DZIS""L43BIHG]PTU1,R MT] IB53$DWFBU3,Q*-;9%E>_OK$1XT%MD5_X"'H(\B-_(G^8.&O6CW"16:%SN000;"9.6D;'2'L,+ MT=H,4=S.O*6M^O!4R768^/8\XYK>Q IZ#(=$:XM$<6/S%G0J,\TC\E>8-@]3 MN.*H[PRL'@*/:TM:NR6*FYRBP4Y@S=L,A@L,SAPKUC&\$:W-$<4=S0?I0[ZF M*YE@YF&/2)_1[CEU['S'L$:T]D84-S:/H09;)!>$LA_G/Y&9\'-E'S.N]BAY M,HYA7IIIZ7\](2E79,VC7)#OG5,'[!-)8;%7+(6MM7 ,#T5K$T5Q]P/6-PB3 M)9D]QW,96>'WV*?K/V=6KF,X)E8[)H9[FETZRQ2_6/=J/#RJ+6=MC-A!QN@N M@85VN4EG%J-\!V[EQ!6;.(_A@UCM@]A!/L@LUL#1@RM82F4=C?;H3'Q?@ 0( M!*68E?48+HC5+H@=Y()F,8\BUY:O-#SO(_-S$0BU- MEWP/"GIE!<2%F@&/X7E8[7D8;EEV"5P)2"#,?RE/[&T5EVG&.X;W8;7W8;AM MV8VMKR;V6;&;33[E&IQL8F9-*_$WBC5S@HURKDNM MH-_4X?1>G!*:B:XX/,V(;S8CRP/#ZFEU0#LICB5[]>?EZ>Y';N;)C$1B :'. MZ1 &/%4>F)8W6J;%F>-<:BWCXG(E>""4^0#>+Z34NQOS ]6Q]?@_4$L#!!0 M ( (B!8U=2[*F/B@< *4@ 8 >&PO=V]R:W-H965T&ULK5IM;]PV$OXKQ#:X-L ZRQ>].O8"B8W>%>A=C;CI?98EKE>()&Y%KAW? MK[^A)*]VQ1'M%OX22ZLA]5?M-;Z4TY'M=-?IRL35F=[Y:Z7PK MZTQ_4#O9P).-:NO,P&U[O]*[5F9%-ZBN5IS2:%5G9;-87W2_W;3K"[4W5=G( MFY;H?5UG[=-G6:G'RP5;//_PI;S?&OO#:GVQR^[EK31?=SW)&OMY>DY_>O2?O2-F0W[=J MK[.FT!/?G_MU\YMVW!"+HDG'*!#+_R#[^6.0QGW7!^.GP% M43B$@A]"P;OYQ%PH]FTK&T,RK<'G<\R??H( G\#NN'.]RW)YN8 MI67[(!?K M?_S (OH1\^Z-)COQ51Q\%;[9UU>9WA)8-9+;"_GGOGS(*G >7<5^JJB;RJ:% MAW4U8DRD27 P.P$:'( &7J!?I#9MF5M.6JA+V!/=*F$X^YG" M(P1IRB8H79N0,QQB>( 8>GGS<]G 7BFSRL><\"V9\T:3G7@;';R-O OR*<_5 M'H@".3R7P)J[2F+^1DZ<&8MX.ED-UTJPE,Y0)CX@C/W<5HUI01Z&Y<#0Q2ZZ M5$03<*X1!Q]P;,D!6^+%]K6Y*ZL*R#Q&#P68N#2-HBF77:.8S@%,#P!3+\#? ME0$B;R:4QB"F2 PYGP;1M0H8%3,@&1U5BWIA_BJU/B=9!56(U2EJFU;NLK(@\OO.%BJZDRUEMK)]U@(/ M28>Y3S920/D4.6:5Q#/(1^EB?NWZU,$B6UD5! INHC,\5S)7E*)@NI$0(SH# MJ.8.>Z)LT-K]WU95Y(EI"H$L#6PR*9]JQ^!T3 MRY0S*/D-5&.@"557?.^RUCR]1YU$A"NAS$D3B'31D,WQ910OYE>OKLD[4YNS MO98#7: =^&TGV\R4S3VI)#14GB3G"A832>KD$==,I'PV)8_*QOS2=M-"\PN1 M[4)O%V5G%VP>+2)P(4\<1KEFH()LAO)\5#CN5[A_*E4\0JV MB&N9O$@FK( ML1(\F.$Z'Y6-^Y7MMR[U6HZ_G#BXJU>Q4R(@1B*1^202 [=[*C*IMN9'9LR84)":) MQTHRH$3,6!#.D6<41.X7Q'X39@/8(PJA6%W12^+4V8:H-,8S]1L?M9&_T(X- M/-^IMCNX4YM>)XBZJ\K[+L"8BJ".N+H6Q=&T"D&L0A'-)911_+A?_*[E1H(G MMG6#8GF/4]>5KI0[C25BQ43,DQF$H\#QU_1NN9M74*BN;HDD8$[Z0QJXE$8S M^TR,\B;\\C:-9B?#EAOY*5W0\RA7V!AEE$Z@8V91DLP(H!@%4/@%\%?5W)\9 MV=9_F\<"Z?8$=V*/F(F$QS,\$:,T"K\T]LFC&MWP,T4@2LG9]"@'LQ+Q7+"/ MSBG]W5_/Z9<0NOU;Q-/ @>B:0JZ[,K_OCNU)U# FM MOZWV_Z.,)(RB%;U_9ER/"2;L;S#1J?>C9 K_^>>M4?FWK:H*V>H?AVX'K63$ MFQZ"OM5LIUZ/"BS\"GS3/FZ-/&357A+(!$1OLU9^).$2 MGO4W0)&]V:JV_)\LEK:.EJ34VLIX=["Q-]K != '#:$KTD[:\YF<.CMJN'CI M2+6N0;I?XRFG%/?U(XG2):2OPQ/P-@J7"6//O^!A@!K>ZL*MW!E9W\FV7\/G MST:=];7,CQ\-GX26H"UZ)[OOA-43&DVDGIA&TV=R&LVQDA#^2N)34916+B"Q MV9.ML[(A>;8K(=&A()&SX(0E8EH08W911&?U;BPKA+^L@))X7^_[HXE";LJ\ M1/MEX58*9U J"! O*GJQT$@^0C\7N?5!RD(Z90!BQH(@ M3F>.!X.QC@A>^4,:KN+K<&._5!_^9\+Z_U!+ M P04 " "(@6-7(EE<4SL# "R"P & 'AL+W=O*46U8L4/6?W"(L6[T^]/GG0WV2K];#( 2[[F0IIID%E;W(:A23+( MF;E6!4A<62F=,XM3O0Y-H8&EWBD784SI(,P9E\%LXN\M]&RB2BNXA(4FILQS MIK_=@5#;:1 %+S<>^#JS[D8XFQ1L#4NPC\5"XRQLHJ0\!VFXDD3#:AK\$=W. MH]@Y>(M_.&S-SI@X*4]*/;O)EW0:4$<$ A+K0C"\;& .0KA(R/%?'31HGND< M=\/_R;:VI0%) M2F-57CLC0[=#S0BLR+^N>63:;:+4EVEEC M-#?P>^.]40V7[AB75N,J1S\[FRN9XJ% 2G!DE. ILSBY8X+)!,C2!3;DXE&R M,N6X$2Y M 6,Q92UAEB3*6)W647?_6(X0X9O::4 M1J\$'#5K*;AI%-R@W M OKO$L"-*8_#]_>@7F,?LF@!#QK@P;N \3MO++Z\7*Z/40^.4A^R:%$/&^KA M0>JYRG/\\O^/-!^>EN9'S5KXHP9_= ;^V3D^VMO.F-+.+#_%LJ5@W"@8GZW@ MZL0L'^]!#<:C>+A/WV'8'T71F_ 1_5GJZ#OPS\CY.OX)(KHL#ZO8*=C1014/ M('R)QC)LOW52'O1W?>&M*5@"TP ;/P-Z \'LXV_1@'[JK+F_*%I;[<\:'/VZ M(ASMU]>]<^DHU+UQ_/K-#G<:*M?-_L7TFDM#!*S0CUX/\6!UU2!6$ZL*WV,] M*8L=FQ]FV%2#=@:XOE+*ODQ&PO=V]R:W-H965T&ULK5IM;]LV$/XKA%<, M"9#&(O6>)08:6\,*K&N0M.MGQ:)MH9+HB;23_?M1+[8L\L2ZB[XDEOS<(SYW MQ^.1\NT+*[_S#:4"O>99P>\F&R&V-],I7VYH'O-KMJ6%_&;%RCP6\K)<3_FV MI'%2&^79E%B6-\WCM)C,;NM[#^7LENU$EA;TH41\E^=Q^>\]S=C+W01/#C<> MT_5&5#>FL]MMO*9/5'S=/I3R:GID2=*<%CQE!2KIZF[R =]$Q*\,:L3?*7WA M)Y]1)>69L>_5QTC*NXLK1Q=P79OO0 M8#^5;CKZBAQ\=4^,A$]T>XULZPH1B]C >.;GFQ-(SMN>'OWOI_><81\3QZ[Y M[ &^1[JGQ8[R&RBPC:D#FU:U[X9OXR6]F\CBQFFYIY/9K[]@S_H-\NJ89(LQ MR:*1R'K^=X[^=TSLLR],Q)DLU4T4H" T]EYM7ZT7^UE(?/]VNC]UK@ZR'<>W M^JB%CG)L-R!]5*2CL!40[!YA/:'N4:AK3+0YX[(*R1*"6%.&BC6BK]NJ:,') MYXZ9?&.2+<8DBT8BZ\7$.\;$,R9?%9-J8=B6+-DMQ2$-H6@T1.Y)4A#BA$H6 MZJ#0#SPE"0%0Z"CY' &/"]V3K._)]8]R?:/<1^G N%QNZBQ,I-:,;:O%$=+K M:P/ MN<'SN5>),VW<5I6"=V46;&AI4ET2]J?B>IPYP!*E7T6460DZ@L_Z7KQ&:OG MTK"T@,(QD)*VK:ZI$,R5J:NJUV$8X]!6EU4(1Z2;O $GD,X)Q.B$/QGG:%6R M_"!?-OB@;*(-X+U-+$_-C0>$=ZTK-G9FLX^% MH')1E)E?+%D.%K*6H>=TR_54Q3K*T>7J()MH=0Q >3@84-HUB=C<)7ZNYW(C M$UVTN7UYA0H*+EXM6S_20>BJLG68C(LJ&^(*;2W(.@R[0_.[ZQFQL?UI4ON9 MKEA)#^I%_#HPJUU@H$Z@KD=S"*>7JP4$\T(+:V4-P!$K\.P![5UOALW-V4/) M]FE]D"/E_U@]T%:IPG5(H(K6(;8F6,=@,K YP%UKALV]V5]R & MS6T:Y(\DS7;5"=9/>"0\RR,@2O<( (,\ K(->81T#1TQ-W3?ZH-1*3_>RQ5] M366+D^>R$G#!EM\/QW2[ZKA/ND=^M]W534]A3*S&#/0=T7LS+W34Q6T.P5R' MJ$L&!/,]]30B MF(/] 6D*XI).:F<$3GG6:AR7UZ:P>Z#X!![@-@D/L@MF'W M=>TD,;>3#S\^## S_.S9S*ALBU'9HK'8^K'H.ESRAM-9,NKQ[*ALBU'9HK'8 M^E'HNF_RUC-:HI^9NK;6;P,H$EB.VI] ,">PU",R !;*3>S =I)T/3VH;(M1V:*QV/K!Z38%Q'M#03!N*'XZ"F.R+49EB\9BZT>AVZP0 M\V;EC(*@[QWL0'W3,@=0GD/431F PH'ONVH] &!.8*M'J-.3E\PY+=?UVWTN M^Z!=(9K7AL>[QU\0?*C?FROW[_'-' /W%_@F:GX?T-$W/U?X%)?KM. HHROY M*.O:EW.I;'X!T%P(MJU?<3\S(5A>?]S0.*%E!9#?KQ@3AXOJ DFD::!T>[#:*)FN_OL@E/0 &9M M)YF1]N/W&B@-X)(VPTO YIQC']^+N<[BR/@W$5,JT?.^Z3IUBJ#G.U*,@3W5+Y4&PXM,Q&)4HRFHN$Y8C3W=+X M9-\&-E:$$O%W0H_BY!XI*X^,?5.-/Z.E8:D9T92&4DD0N!SHFJ:I4H)Y_%N+ M&LV8BGAZ_ZS^N30/9AZ)H&N6_I-$,EX:GH$BNB/[5-ZSXQ^T-C11>B%+1?F+ MCC76,E"X%Y)E-1EFD"5Y=27?ZX4X(8".GH!K NX2W%<(3DUPWCJ"6Q/2:X292LY/$V )U=KED<0=AHA MN!,L32(BH;&5<(%\D *Q'?I:4$Y47 6Z>LC)/DH &=:SNJMFA5^9E8.^,! 6*(#911J^ M/\R?#_!-6*%FF?#S,MWA0<$M+6Z08WU$V,*.9C[KM].QSL[/C1Y:+ZGVKA6S&G)5)O4837'L]G"/)PN5A_DN.[,:J/\/LIU)AYN MHX(^RK8\;$\:6,NBVUATSU@4DN]#N>=)_H3"F/ GO=]*9G)JQ78[3M9]4->K M1@9[;L?JD$S+Y:1Q.1ETN>$L I.PX9O5!V+/S:"/FCO.;*K/LUGC/$/_H7N:EM\9^(+('SKC@X+OS;LQQ?PQQ8*1 MQ%I1\9JH>!?GG7=NQUKW$:>;;K549U6"/@*V>'VRS1M;\W-;-R4\C!&4'E R M'J 6+E0E,[3+#2J^-]O&%//'% M&$FN%Q;9>*DWKXGRKJ:U$\+K?^K4&-76Q MU\DZ#6W6]XB/]- M;W.(_U0>73O]=_;MVM;T^^K07YXK7^2K?PR^0 6

+YC3#XWU #-7R&K_P%02P,$% @ B(%C M5U[V9JFU" Z$4 !@ !X;"]W;W)KUWE178]6=;UY.9E4Z8JOD^J% MV/!"_N=6E.NDEF_+NTFU*7FR;#NM\PGV_7"R3K)B-+MJ__:NG%V);9UG!7]7 M>M5VO4[*+Z]Y+AZN1VCT]0_OL[M5W?QA,KO:)'?\AMN0W(^(Y3^O&1")_ MW?,YS_/&DAS'?WNCHX//IN/QZZ_6?VLG+R?S*:GX7.1_9\MZ=3V*1MZ2WR;; MO'XO'G[G^PD%C;U4Y%7[TWO8M_5'7KJM:K'>=Y8C6&?%[G?RN!?BJ ,B)SK@ M?0=\;@>R[T Z'?#T1 >Z[T"['4[-(=AW:*<^VQ7S^:B6,JP\Z4G7U4BSY9)+=_Z\L2M M?"?2SRN1+WE9_>*Q_[99_<5[^K%(MLM,MG[FC;V/-POOZ9-GWA,O*[P/*[&M MDF)974UJ.<;&TR3=C^?U;CSXQ'@^B#K)+=WF[FYSL5[+M&L':NF]SGGU#H_VH+QLY8T!IKEJ+[61@@/_9]_VIR?ZP[I%<& M9$P+ #D$@ P,P#FB[VR&1SJAD)(8Z2K-S69A1T>S11!@/R)Z,V8V&Y-H&L;1 MH9TV>7J8/&T[DA.3?U.D\D.HDDDG9]R^>M90,8T/<.#GN%E>MHT#,VK&>&.@$YW0],V-%?CKD,& MY%!3;WI0;^I4[[W<%B;'XB7-VM";BTZC0]>)J:$1(9:,A?3)@(QIFD<'S2-W MQJXWN?C"^4[Q<;.77GJI6$O J)(F=6V*1X9("-%PVLE=I^.AN7N62P;D4E,R M/B@9.Y5\*XHQOT3-V)P:Z7Q@SYVNAVIYAD,&Y%!3$OD*-GRGEA^21UYY&[G' MEI"YVR/7PBLD#[?K@%?QNLY;[F@6"[[;49RW6K@]#UTN]M:.M1Q'OKE>@'IE M4-;TZ!RA(/I>T;%&!)D:(AK1SB7@'M30:^ \IPS*J:ZTHCGDQKFW4M-<5';9 M3+@:8S^.HJYND&RU +7&^N>@"Z@P4#"(GNG1C<);NU/QH"B@B71#>MW.1L,54$.((H>X5 M;K8;4S\*H_!$#BJV0FZXZJW%_+$M>N2 !*,Y,FDL#&A,+6D("F10UO0P*"1# M;B:S5F3ZI3=A"04Q#>)N)EHHKJNF:2H((D2[FU=+NS&)HS"F)S)1<16:_L"Z M# (%+E!K"U!K#,J:'C:%9JB'S2ZMSKCM#HZ0R5[3J671@'3*H*SITBN60VZ8 M&U3(01:@BKJE,+?#P7E^ADL&Y5(_B5 0A]T0=V$YQVUU\ F$"6C4DKR@3AF4 M-5UXQ6?8S6<7U72P"40T0)W/LKG;\] L/LLG@_*IJWETHM;#8)?6=; )-RCH MZ@D*9V=X9% >=345F&$WF'W'RH[;\^"%PX2V<6!9.$")#SMS/7"/<["JWP/1B$(T MXD:T0=6:O:WCRYOB[@;+[7!P"IM<9KAD4"YU#8_N6W2#V875&K?5P2N'"5W3 MR%*N ?7*H*SIRBOJ(CWG9)<4%X@).M/([Y[]NCT/3N-S?#(HG[J:BJZ(FZ[> M5-6VW1+(1$YW=WNWNCYO.5;^,?O:(!55+?/;E=R@YV_$!"/BVVX6 77+H*SI M\5#81MS8-C >UC"8L#6-#8!PCV-PKI_CDT'YU+55.$;<./8=BVENSX-3WT)D MH:6:!NJ505G3HZ-@D;AA$;B:1DS6DU1K[/] [[H\RR>#\JGKK&B0]-QXZ:BG M$0N A;%/C0]*T-,Y4&NL?P[ZPQJ*(:G[@.[\BAJQ/I\!"HW4/*@+XPA;-G^@ M?AF4-3T&"@AI#Q Z*VIVW4W$BU'@=X_J]LU<90R+I2!"$>ENZ2SMQC3V"3F5 M@HKJ705G3PZ#@CU[PU%J_]":M(6PI M[=+^Y]8LIH)I' 3=TTM+NS$- DI.%-3HT:-K] <6U"@D>,U!K2U K3$H:WK8 M%.Y1-^Y=6+9P6QT<'\MS;I:C(%"G#,J:+KSB.MIS''=)U8*:5(5Q]^G4N=OS MX'0_QR>#\JFKJ4B.NDG.M8>E%G@B\N.WNX=UNQ@L&RB*]<]!%TY!%NVY1_(; M]["@QW'4AP'94V/@0(PVG.SY 5[6/.,S;J'[3^*LS2Q[V'-=O8] M[.3H2S*:[T#Y,RGEYJCR_HOIC*\Y>YK179O:K%IOS?CDZAKL6Y?KG@B M-PQ- _G_6R'JKV^:K^(X?+G+[']02P,$% @ B(%C5]ZIGJE; @ @4 M !@ !X;"]W;W)K*D7-NCU,>W#@"%:-3>TCM/_]SH:P3$KR@N_,W7??_7+2:O-L M2P!DKY54=AZ4B/5U&-JLA(K;L:Y!T9]"FXHCJ683VMH S[U3)<,XBB[#B@L5 MI(F_6YHTT0U*H6!IF&VJBINW!4C=SH-)L+MX%)L2W468)C7?P KPJ5X:TL(! M)1<5*"NT8@:*>7 SN5[,G+TW^"F@M7LR"-Q(?=?L-^GPN M'%ZFI?5?UO:V4<"RQJ*N>F=B4 G5G?RUK\.>0QP?<8A[A]CS[@)YEG<<>9H8 MW3+CK G-"3Y5[TWDA')-6:&AOX+\,+W5*J<20\Y(LEJ*G",I*Z2#:H^6Z8(T MG3V76N9@[ =V_]((?&/G3XHWN2#K$3M?-,%9=D_L\O_]0\IP2#/>I;F(3P*NH!ZS:?21Q5$\ M94^K.W9^-CJ!.QW*-_6XTV.XNSH=+=/OF[5%0\/WYU 9.O39872WD->VYAG, M ]HX"V8+0?K^W>0R^G*"^VS@/CN%3JVWU%ZALL88:CEU+--*]=O2"BPIIP*, M4)M#S#OL2X_M-G^;7L63)-SN$PKWYK("L_';9RE,H[ ;T>%V6/";;J[_F7>O MPP,W&Z$LDU"0:S2^N@B8Z3:N4U#7?LK7&FEGO%C2(P7&&=#_0FO<*2[ \.RE M?P%02P,$% @ B(%C5[ZNS*M9"0 $S, !@ !X;"]W;W)KOWBJWI<6_?%9'&Q%8_R7MKOVSL# M1Y.]EZ7:R+Q0.B=&KBY'5_1S$D:N06GQ7R6?BX//Q(7RH/4/=W"[O!P%[HID M)E/K7 CX]R1O9)8Y3W =?]5.1_MSNH:'GU^]?RF#AV >1"%O=/:G6MKUY2@> MD:5U(WA"C8JK_Z+G[40!PT8 MZVG Z@;LU :\;L!/;1#6#<)2F2J44H=$6+&X,/J9&&<-WMR'4LRR-82O$963;VN]*T2^+"XF%J['>9VD];FOJW.SGG-S\IO.[;H@O\ U+)'V M-_[VBP%X.]BG'-O [OY?83X<%'P@+&R??[A+Q_]P&[KF'<)*>[8;B; MHRCYOLMYZ9?W^/UC*XVP*G^L!IVR2A:?L=ZKW(2X&U>0/A=;D]0C#-=H/E>M8S*EJ[B/BW&/)P' M\<7DZ5 +Q"R:!V'++$',6#"/&[.CZY_NKW_J[?ZKY?^@K%1CVVJHW:G.4Y5) MDM>!N6_=Y]2-^JW13PI&%WEX(>]WKDZH_ /1IZ;0=,@4&M)9,I"SHRZ(]ET0 M>5,HD> T5<+-?)AJ5>OI0<=3/IVUDJAK%/* M5*H:\3G$<43:+:_^IGWZJ\V MVECU=WGU;G8P;FH=Z]48TH.(HI 6'1M>I^>FPJP;5Q2V%$HP(]HS>N)]\+$W M^'NKTQ]C1QI+DNH-X%?1VXUQY_R,Q;S5C5VC6=PN&$G7B((R 1[*?!_*W!O* MG1O:);^]=T7@29J7#P1(DJ1&P@Q?U@*)=J77[[E=.>_$%K2B[UJ,>3##@Z=! M SZ!-_Q?_MHI^T(*F>Y,6<"(%":';ET9O2'NPH5)UP30!CCR"0!YZVKF0<&# MZ3@H?WY'/[)P6K43T#(K$6HKC'W!IOUK_X6=JU_M[2@YXO90P(S@FGLT/(!' MZM7P>PYKC4S]#>$^PAJ#0"[E.A_#"N*'M.(!)I5&7E0)K_NSE:!OIA)BPH*> MDD!9(P/S5T17](C:;(4R59) 5FB[EC"6UL(\]@3/.M!&K>#9MQ]NUZHNW MX3KJ![L_R@YSD97D VN<#1Z'U\W921LBU:T=+6+#YCWQ-AQ(_2!XLQ8YI*;K MS@.>*^?O,H$S)1Y4UL]V=%"X&]1;,I2W8VD;OJ-^P/NB<@%0+3(/#_E=G"U? ME_08G<:=^MLPMZ:T2 C]3/C M59KJG5LY;L6+J_QHM(/B(47HCP:=^0!CQ&G/0H/8RO-YLW0!P4\ MUJ6W<<@[,(29\;AO[+,&\Y@?\Q*YD@;61H#X4.YV:/+[79P=CC5LR)-Y\6MQMX.5M2BD6U= :D$:P>+!E56WCBB7 MV:B@@_)F[>TXC6;S]LX+9A;SL&]H-83(_(1X9W0JY;*H=@T*D9TKQJ#TR!!Z M;&\A8#9]TTD#CNQM<.Q=5?J7DW[/9RN X"*E\TY10;>XEJOFTXHKH,RYJ#>DJ&\ M'=_<:YB5^YGUN++(G]*DRBU4H+P4;O,:IFV'L6@V^5V??!JT41BS"OORZ>"6N9^$OXF?TBUZU7*_OU_?)2W6PKBIRMI,ONZ5UMNA MXED8_+D(_]G.%@8CXJ"]*L*L:-BW]\,;(.9OWP_W+!)62$E')1D4EWEWQS2F M41MI$*OQG/8ITN M]^.M4V0I4R,=XKI1!>I\K#1RF?$$L)?7>ZP0BC4J=?GD M?D>%&11[.<*S?,[G[>TSS"ZFTYY;);SA7N[GWIN3M7 UQJXE>9"/*L]= L'( M-YS=XTW<,S]<'R^5M)M3;VI4I=A M9U'$VS=B3C-+$#-*@QGO66CS!HEY[&7!^]UV6Y54D9&E*M),%SM3344NY%4& M'E5>/?H(,Q;^"-.@>#RHMV0H;\?Z-JS-_5NYM[F5+HW*60W5;E#&YMT=6M9> M;&,V/5-WV/!PZ.?AVQS(11*[G\'1![<&!=\0N=L^;X,*9M2WD P;\ WIZ:.F MN9?9K":A0F!3,CIZPD%!=U!OR5#>CG5NV#E\@YW%5CF)R_M 2V6A,AV@],/. M@OB6O,C^X>4_P=GB=K&73MOW!# CUC.EAPT;A_[G2U8PH-'2OT,74KHAF9[LD=U[%+K+)S.VL\'GF:6(&8TB*.X9VLO;"@X M]%/PUV-$ 9!Q8Z-^.*:L3-4Q&F*7/EDP;3\Z=Y)5@EJ%?5G?@&SH!]EOV@W_ M?X;V]2D.G_#%2.PTLP0Q0TELU M%$MIG '\OM+:OAZX$^S?@UG\'U!+ P04 " "(@6-7''Q\0)4" "Z!@ M& 'AL+W=OT"JZ-B>37)I+!P[V$X+_WYG)\T*A&H/TUX2GW/?Y^_SV9?)1ND' M4R!:>"J%--.@L+:Z"$.3%E@R5(HPCJ+3L&1< M!LG$SRUT,E&U%5SB0H.IRY+IYQD*M9D&@V [<ZLVW[#U MXP6F2AC_A$V;&P60UL:JL@63@I++YLV>VGW8 1!//R!N ?%KP.@=P+ %#+W1 M1IFW=<4L2R9:;4"[;&)S [\W'DUNN'157%I-7SGA;#)7,J.:8 8T,DKPC%D* MEI9>5"QK0.4P9Z: :RJX@<,[R>J,4\X1'"Z8II0"+4^9.()CN%M>P>'!$1P ME_"C4+5A,C.3T))2MUZ8MJIFC:KX'56?X481L8&OI"Y[B0_)86'N^1,^QV?>CY1N_P?7VLN7T&@VFMN>5H )F6M.^Y M5B5=#D-A6@!M'AW)-5VURM6B.?,^OV]+FR5/_9+N\JZ3X\'YV21<[_KL2XI' MXR[KA9U19V>TU\XM"G]JZ#S8YSYI>^&N45V8BJ4X#2KG7:\Q2#Y^&)Q&7_I* M]8_(7C@==T['_[]PXS&ULG5;;;N,V$/V5@198= '#=ISLI;D8 M2)PLF@72!)NV^U#T@:9&%A&)U)*4G>3K>X:2%:?(!FU?$G$\<^;,E3S>.'\7 M2N9(]W5EPTE6QM@<3B9!EURK,'8-6_Q2.%^KB*-?34+C6>7)J*XFL^GTPZ16 MQF;SXR2[\?-CU\;*6+[Q%-JZ5O[AC"NW.BGQ3^,+P).]\DD2R=NY/#97Z238405ZRC M("C\6_."JTJ 0.-[CYD-+L5P]WN+_CG%CEB6*O#"5=],'LN3[%-&.1>JK>)7 MM_F%^WC>"YYV54A_:=/K3C/2;8BN[HW!H#:V^Z_N^SS\&X-9;S!+O#M'B>6Y MBFI^[-V&O&@#33Y2J,D:Y(R5HMQ&CU\-[.+\G(/VIDD9<@6=M0$*(1Q/(L!% M9:)[H+,.:/8#H)_IRME8!KJP.>?/[2<@-3";;9F=S5X%O.5F3/O3$IZP^9TXSFPC6J;BL_&*JN-JN@6 M0D8CQD!_GBY#]&BEOU[*4$?@X&4",EZ'H5&:3[)&?/DU9_.W;_8^3(]>">]@ M"._@-?3_4LC_!427EF()VF1=Y$#1R9%:J]K<1,Y).Q3>ANZKSRT.Q9#&,*1Q ME$S?OODTFTV/%JYNE'T8I>/>T5:\X7]*VC!(I%Z]U+5^*\4\LT_,%B[G>P,_ MEU:/D[9!\4*[#"8WRAOPEZH_9XKA-F%,WYAR$[1;LQ]AOM?86\V(V)8(@T<) M3+NZ9B]!F4?)!W1&5&+^J6&?%B548?+X4,.36#@$[$E7*@3Q75#CD45C U7P MX-7*V!4A%)$WX!>Q(%,4%VM700'1[GT\. (SCW4&L@QYFVK45"J*SS&=)F3, M#=*\A,UV>$:T822G<5XLQD[&)8-;:A;0N,9.M3$I';4L&I3DQ4U;$TP-D61" J M4R X;5BXJ::IH"KI1,\8JROT-+!6;%T-#X&_MU 4D6#95E<,L=(FI_!@92Q, M'_*+V7@*NL-F"=KEK8ZD 9CZ3WY#@Q@KG),;+(GAW/>AE&),OY5#76#47TA:=*EX8)PAWOH@'_.VJ0+M59W:)&?MF-$B^OS*]I.TCNT M3.G(A-0MBX1Q<<^ZE2N4KHO"Z.?&%]>[MI[7 M/%?*K[HE4,!T.O[X/B/?O2.Z0W1-NKN7+N(ED#Y+/+W8BP)^+QS62'\0!\-C M;OXW4$L#!!0 ( (B!8U?W.D@*?PD ' : 9 >&PO=V]R:W-H965T MXXU%OKISDBW1'+!;[\NRS"_)XZ_Q56!-%=5U7 M-IR,UC$V[PX.0K&F6H>):\AB9>E\K2->_>H@-)YT*9OJZF VG;X^J+6QH]-C M^>S2GQZ[-E;&TJ57H:UK[6_.J7+;D]'AJ/O@DUFM(W]P<'K M#GHMI:G)!N.L\K0\&9T=OCM_R?(B\"]#VS!X5NS)PKDK?OE8GHRF;!!55$36 MH/%O0Q=45:P(9OR6=8[Z(WGC\+G3_E?Q';XL=* +5_UJRK@^&;T=J9*6NJWB M)[?]B;(_KUA?X:H@?]4VR;[^8:2*-D17Y\VPH#8V_=?7.0Z##6^G#VR8Y0TS ML3L=)%;^J*,^/?9NJSQ+0QL_B*NR&\89RTF91X]5@WWQ]%P'$Y1;JDM/@6S4 M*5:V5/.4)EZ;FY4U2U-H&]594;C61F-7ZM)5IC 4C@\B+&%]!T4^]3R=.GO@ MU!_4+\[&=5 ?;$GE_OX#>-"[,>O<.)\]JG!.S40=3<=J-IT=/:+OJ _+D>@[ M>D#?/5ZJ?Y\M0O2 T7_NWF_/BZM=Z'1!9V,&@ZTW]#H]/OO#E]/WS]B M[VI>/:?_3DOCGGZH>5G+IC2U,4Y$L7S@;L*=,Z_]<$^JY<'6C[0WK:ZUN M2Q.I5(4#I&Q(3WD+7I;&:JC3E0HX@T K,:BUWI!:$%F%I#3:0\Y84>Q+2!-J M,:[5BBQY754WO$(-:],[3YJ=F=@;8=AG*X;,^1RQ_:PFCPBH9Z._G9U=CIZ+ M>RRIFP9AT(N*E&]9 R]X6K65N"F;66Y.1>M--%GBPW6QUG9%"$I=FR#\^&PT M_W !U:!IV!%Q8#WPV=A$WRRY:*,J'519%[%05&T)2ZI*3AH*\E&0@:2GWUK# MT5G<*'9!3N'H5Q3IWM!..$6!>E.^+3]A[=H*IR(\Z#<<7^SYTMI$Z)(<">-. M]5<4[ES"/D_1\9Z(UI4R[UJOSJQML>D3-75T*-PS$\AY3M1\#&]K%E;9.QP_.3 CHL,!,"Z%7B#8D= MBUFW%_[$$J%#]M'J9C[NXN\;8C+%:6\R9+,+P7O)@*(6@RR\8M-)6B&G$$1Q800:TZZ4F=&P[ ME* P<6Z?!09$DWJ76FKCT28XV#N[&A=,XE/1?A>*;$S $"G+O!<3M\\-X'># M>X !S)+%U=I5<"#\17%YQYL_H'KP5.BP5DO@NI&L# OUHBXEX:+"P1=P9&5ON-*%= $8&'A%(\ZRJDK5YG.FZ1.I6&#AM MT$5"PZY:J#*X#(AUJ2ONAJ.)^APD.A_ZPF4O;_$MX^Q;'6$=< ML$E>2:^J-<:KY9)+,F65&9$GK;J/+/90 MA*;*Z(6I9!P:9QAS"6W(MCEH=-VP-]T\58DSNW;'RKCOH[*Y:I->D1VHGJA? M*<]B7-,L%(2'PL MY-44:YX!ZX3/[$*VAAG$@739SS'?%*-[=<% M%"<^@D;@UK=4[D=4:$+IK?9E&/>CZNYP,*;;9H"&X /CJ[@H/"W!*$]7_-B;FUB NPNB,HT O& MD0*R)S/AN1%C3"F%?>N^E^>I@94 FU\E,WV9.LC31P 0A8*X3,5OQHKGVMGT M_7F^X%U3R562[$CA1B*[L;&W0I1E M;9UC?+[A%B)8U=WWF$PY*Z]KM@/81,R68!^0QPUY5K-YCKF#X0>YA5@B-:US M*+A'N +CK9007Q!L&HFP=W/7'3D2-($N=T5"M5U012=NYP&XXU- !X6X*&V7 M\9>8FED(PW0W)2<0I_;R;)-6JEKGO5SV?!%AQM)E_8\G//2_B4]W:%OQ2,GCD>Y-%21C*9W M.]*M"_]M1&:3X3 *J[/L-A?X8=57TAAY*>/#MGW<6ST6>*#]AP+>1 MIZ?2W?UZ;4\TM8PD;3!#/BK,'>Z&XY[5INOREE(32WH>/VO0EA^6*]N^:3V5 M0E--IHET!_)">G#C^.L(F6:&*TA[&R;W?6E\,/@5H"8P//_6(0.7C>D'@?[3 M_N>4L_0KPDX\_1;S"QJ$ 2E6M,36Z>3-JU$:9+J7Z!KY36'A8G2U/*Y)HT>R M -:7#M;G%SZ@_Y'I]']02P,$% @ B(%C5W5QA$$3" QA4 !D !X M;"]W;W)K&ULS5A;;^.X%?XKA'>PG0'46#?+LC<) MX&2R:(%F&B0[7:!%'VB)MCDCBUI2+43#J)N[E>E/3Q/CR MO.)K\2#JS]6=QFC<4\GE5I1&JI)IL;H8+8+Y54S[[89_2/%H!M^,)%DJ]94& M?\TO1CX!$H7(:J+ \;<3UZ(HB!!@_-;2'/4LZ>#PNZ/^LY4=LBRY$=>J^%7F M]>9BE(Y8+E:\*>I[]?@7TA@<2/T7#H3M@=#B=HPLRH^\YI?G6CTR3;M!C3ZLJ/8TP,F2C/)0:ZQ*G*LO M[\5.E(U@]R)3ZU*2IL['-0C3\CAKB5PY(N$+1&;L5I7UQK";,A?YX?DQ /6H MP@[55?@JP0=1G;'(]UCHA]$K]*)>RLC2B]Z0R7+.:+PO!*JUV,A>&R=)E M"!MJ2X0_R_>$1(X 'I@@:TU@G VRU@9$I5:L!I^2UXT6Q)U&X)(WM)V7.2/L M,A/&LZ.U4&O-JXV$$L0:W-MY669%0\ XYL$ODX7L)2*:I^%9/%I42COYC%@C M!2'O6>F/F8$4KQD'5!+H*RC9;^Q=0""9<?X9FL?!0@Q/07?.2Y]RA_!L@ ME=W6#QZ[N;U9L/"]D\]@DY M\)^"%UCTV -,L!$XR19&MMRN-[+D'\[8@Q/JP&82FC*M>8$9J.J-:@R.F0]S M"*^%.(AR$*EJL5TB-%L@O\??TC#(/QI,!.FGA^'!TOM MU#WBA^ML8VGG(%6HRBJT(QMY43!ADV2*KS0-\1OX,$"?T8<_B/_;BJ0\Y)-70@4."&F:^BMK,]Z[WCL4@ ME![(T,U$7C(ABN"0I'8^A7&L X9> F8.?C +2(@HP&PP2:"=63IUOA=XJ9_V ME-TH!-DDZ"?;X7\I[2?DLC>=[SLV_;_Y7@B=^]-##^NF9M#!-#E8:Z?>]+X M]ILE<#1_.F,!5#V=L"F<.L5O' (5U1&R*TQBN M26X!V$GDLR#P_( \-]_[HAFG@A7'4S[;#_XGL?2-Q13D7 M%>F%"@E[H8*@>6QWH0!U!1 YUT!3'FO*I2P*6X@R(7=T$K/]MDR9NBUL_1QR M/LZ@:(OC?'TB/CZ"L)L)VF"X/@31&H=\#B8($O;Y!":;'RFD21T^-ET?0#SP MUV"V7QV G5/7++0>5%W:ZT66-? F_HS]*MB&YZQ4#AR3VXI+;=T\VW"]!A(M M"ENZT3&L4-=0X6'25A2K#JK#5)!(:R5EAZW+#N*E%$(;23.NV.7Q1/+(0)0= TRS_(*+"1U#.M&LQDVGWZOW[=@Q ME%.>,L3#]H"L"N26?!$^1\?P2:T,>T;SR" GY=N3&@!T0WO*:YLNZ_O@\"X\ MF^'. J[V E=Y[LC#RN%>MW')B?6K>\Z]0"$GCM1;DLTK&79 M&G#/8'Y0XX8*,O@W*PG*E!@BFQW3=&;K=1#81(@Z$Z.KY.5:F$/<\^?3PL!] M7+QJ7AKN+N7P!'#ET'/6Q7+U)AP;70,/8E014A:C:T-S$Z4L0J5Y6RH;D25Z M9OLRX'1UJ/L_[Q7:^6;BS= $19'GIPD9,$0Q"_S$MD9'1:7O:UP;Q5V:$2WRHD$Z>_Y2EG6C7V.C5(F2^IN;_/-.5>5:1KQ!T2 M+()HN-#Z%C)JYU7N[D2H6^NX#':,.5<0I51U)]?S2Z'2$@X+A2()M-C 0B&< MGA#M! F)CVIB&P=8W"%=656!E,&M5+?7T;K6;VB,K Q' & MRCH#%8AO0F?2D*26PW'1<.+UM;TK/);7DMZ\+*6]]N@)",U>J)]-?:3.F<;L:N?O07Y4']L 9H<1)&4K.F6JCI10IYO-&FX:7=BUZ$ M/$7NANI^2;2C;'%(U48N-C M,J.P"&)[%_#M=^HEW]/D)HG?MQK/_VGM1# B3E]BZKJ/4V\UX\';&C2_MB^( M!MJ#T[EGMGZV?Z1Y_7;WPGF+OD7"C0NQPE'_;#H9.1MU@UI5]J5NJ6J8 MV7[B"@]]TP:LKY2JNP$QZ)]N+_\#4$L#!!0 ( (B!8U= [OUS[P, -@) M 9 >&PO=V]R:W-H965T/?=\:[["T*1U+U"_AM'C_/ MS.R,)WOK'GV.&."IT,9/DSR$\C9-?99C(7S?EFAH9V-=(0)-W3;UI4,AHU&A MT^%@<)T60IED-HEK2S>;V"IH97#IP%=%(=QA@=KNI\E5!P,TWF5[>+,9^/!_Y0N/>=,;"2M;6///D@I\F M":'&+#""H+\=OD>M&8AH?&DPD_9*-NR.C^B_1.VD92T\OK?Z3R5#/DUN$I"X M$94.#W;_*S9ZWC)>9K6/O["OSXX&"625#[9HC(E!H4S]+YX:/W0,;EXR& MP\B[OBBRO!-!S";.[L'Q:4+C090:K8F<,AR457"TJ\@NS#Y1W'^SWD.)#E:Y M<#A) ^'R;IHU&(L:8_@"QD_PT9J0>[@W$N6I?4I\6E+#(ZG%\"+@"LL^C 8] M& Z&HPMXHU;D*.*-7L"[%\XHL_6P/(J$O^9K'QSEQ-_G]-9PX_-P_)W<^E)D M.$WH0_#H=IC,?OSAZGKP\P6RXY;L^!+Z=T;D&QAP @)1\D)XE8&A'7W<\7%# M>9Y1&@% M?7&4O-DC4"7P01A&[(%&@J)3P:F,KZN/B+UPTL.KY&$U]\EKJA#K?^BKA6"! MRLX&5:@<]N%.Z]LTA _=KMD0ADQ\LIDWV+( M%OB4Z4HR/6>+&!*RSBHMV$LLFM>4 ]QLV*][6A"$^.:HH0]SGMX=):U:2?#! MM&(HB$?*O9.XP\MQ[_J^)!C'065;49::-,8F0N=Y*5#_\Y4[-/H*#+DEQS7B M_+,?].&<]SOB8]*VV/)GAJRP_BN@DE#"GCFL\VH?/ M=.W&:NK&T;HQ1,(V-M!EU&\ES21=\=T43[E=CB"\BL"V\N1M__J6"#G$DQ9" M42T#Q@!Q%_A$U>W2/G<)_AEV1JM:%W\+8JT1*K)S4<_]ETJ% V5+QB$B/DM- MOKKIW;P;P77O>C#NCL_5\[33;0MTV_BFX/I3F5 WWG:U?;;,ZV[]?+Q^\WP4 M;JN,IX*R(=-!_]W;!%S]CJ@GP9:Q=Z]MH)= '.;T]$+'!VA_8RG3F@E?T#[F M9O\"4$L#!!0 ( (B!8U>*@XV8:@@ -07 9 >&PO=V]R:W-H965T M)DF; M#YU^@$A(0D,""@!:47]]GUU0)"4K=MQVYGP1"6!?GMU]=L'+K75?_5JI(+Y7 MI?%7@W4(FU>CD<_7JI)^:#?*8&5I724#'MUJY#=.R8(/5>4H2]/S426U&5Q? M\KL/[OK2UJ'41GUPPM=5)=WNC2KM]FHP'NQ??-2K=: 7H^O+C5RI3RK\;?/! MX6G42BETI8S7U@BGEE>#F_&K-Q/:SQO^KM76]WX+\F1A[5=Z>%]<#5(R2)4J M#R1!XI\[]5:5)0F"&=\:F8-6)1WL_]Y+_YU]AR\+Z=5;6W[115A?#68#4:BE MK,OPT6[_K!I_IB0OMZ7G_XMMW#N%QKSVP5;-83Q7VL1_Y?<&A]Z!6?J# UES M(&.[HR*V\IT,\OK2V:UPM!O2Z >[RJ=AG#84E$_!857C7+A^;^Z4#T Y>*&- M^*LU+V^E^ZJ"7)1*?%)Y[730RE^. K31F5'>2'X3)6<_D#P7M]:$M1>_F4(5 MA^='L+(U-=N;^B9[4. GM1F*LS0169J=/2#OK'7]C.6=/>YZ(MZI11#2%.*W M;[4.NY[GXA\W"Q\?IT"(.B:G=5!)O?(;F:NK 6K&*W>G!M>__C(^3U\_ MX,&D]6#RD/3_*7@/2CYM]\^J.UZY#^E[([">KSF4B=@JL:GQB.HJ$ 0ABT)3 MS.]JA8ECB90GP_%\U]_F659^OKVYCW_&K]^D0@)J?I.!E7NQ%J5 MA2CU4@F?:V5R*,UMM9%F)X80%VW9!$A5KLU+=H9/DA^KE5,K2*.]XWF275PD M\_&DYPR4_\GO7;KA!+SO6%C+P&+EG1)*.H,5^-I!MG2V(E%#2%) 'PK'8]'X M]U&5L* 0'Z1#$#X[:;QD1O2-VPQ<#W)M(M<3A/1?[?!J'WD&E33U0YBQUUA5 M9+0VP0+(3VS[A\9(<0,H%$O8ZK 67GW[ BH^BD7S]JGQ2 @+7TL(A^KM6L.L M@YP:)VF:TE\/^D97!__;TQDU':;[C!J>2-PCKV^EQ[- DRCEPKJ(8N<[!?@C MZHEEG(9$/ ]K)0X!Z;9VT)QT&<[!"WNG"VU6PNTUD5KU?0,_209B['/(,[2' MEG B* 16F15X +OH/;7+6*VT\AU(FI5B2 AUM.7H&Q;)7DH90K671Z>@QM$* MAQA>1G._G[R(F89''%:1,WJ)1X:2ID;LOAZB%JM!D7=QR#EI"57:T^ M2CJS69)-SQ_,E9?C>]E"!DXFR3B;';@IMM*AZ,"9#4%-NG3ZTK/_?)K,9QE+ M&5_,D]G\XE$$8^$?1+E0=QBT-HP8T;:F,CE(+]JU9;UV9?2_H?G9^1RXV=K3 M$OT]&\\NNC?:_%B%PV]3JV@(L/>JTUK4G$@4D;!&)/@PT3['W-[5SH$VT'1R$/7H^U!\YCCU M=Y.M,L]M;:A34)YVU50IZ6O7T%<)NXRDP+!$.M>LXR' (Q]H2JUA 'S3KJD^ M\ *S=(D%"(\[(J-X"C9&:$H5SB*[H QBS^%HKMI]9)8N(%#GB T>O$8AH;7W M0$?8F0%D!0>]KY4;\C3R:*3Z7BQA> ,WW1LXU(ZVY^7TGN]U#A% M 03D?Z'2$%E+BIV@M5:.*F@'KE:&&X<,>/8JR+ +;HW,=O=P(]S]ER9-Y/I?Z/P#F[#T!/>O2S-CTO MM4%%>MP:B7Y\>YHRDD,&GN$*Z!)N3W$U0"RTY[06:,4T^C7%5."N1*YP"3K6 MTU9CPN<=7>=BG"W&QA5S0I=@G;/T^+:9"]>V+.@\"&XE+%8(0-"7+/Z%JQQO MS=$-=N3DS\,9NSMWNP6Z=N=ZT>=8ZNXV\G?+[;W:6N&"SL576DS"GJ"4[+,U M!!GL8'MY3#!>)<*HL,_CVL@:S5$198$7C(^_O"UUP;,ER#.HF*DD"*9$N(;B M]R;G8@=XE/@/&Q/(N1=5\(!;,6+/SH;S=LJ/+2HO:Y*)1(NN,>!\#*EQ&O<3 ME'F:+75?7M*$ R_Y9L2,V61X1!#&6!30\P;)%P=0/A' A/2X9H)O/-DB+=3+ M@EIBDXU/\@WT /S2(_SVW9)6TQZZ5%@XOZ_5HE>L#/2^4V%EP9,4SM!J' XK MA;Y6].F+QAT*RCWJHB&GX:/C7MXK!6:EAN+V#*E4+-,8HZ9_L:X'2_@!+?=* M^FEYG-W+8\(T:S&M#?I\R2M4E8<9_%\E;]ON6]=5OVTW'O\KQ4XD1;\E'9G%G OUO M896Q1Q[36!H8C1.5$,OT4=KE:[?-J>\?,NW3IEG>2([OQ_V&FHMH=2\1^O3\ M_U#'G1L74;ME46)M-Q*DY]H!OUOK16"NV(OB?3I0PC1OSHVKYM/UG?Q"^U MW?;XO?L6W8QB7JHECJ;#B^D@,M;^(=@-?[==V!!LQ3_7N!\H1QNPOK2XG30/ MI*#]D'_]'U!+ P04 " "(@6-7R$0V4[T$ #C"@ &0 'AL+W=O6IZZ+1EC]Y"EW3*'][P<9MSK)YMOWP6:_K*!^FR]-6K?F*XV_M)X_==(=2 MZ89MT,Z2Y]59=CX_OM@7^23P5?,FC-8DD13.?9/-^^HLFXE#;+B,@J#P=\-O MV!@!@AO7 V:V,RF*X_46_6V*';$4*O ;9W[75:S/LJ.,*EZISL3/;O..AW@. M!*]T)J1?VO2RB_V,RBY$UPS*\*#1MO]7WX<\C!2.9C]0R >%//G=&TI>7JJH MEJ?>;_JJ3,?T@57H/"/C,9Q.(\!% M9%H.0!<]4/X#H-?TP=E8!_K%5ES=UY_"J9UG^=:SB_Q1P"MN]V@QFU ^RQ>/ MX"UVD2X2WN+?([W4H31.@@WTQWD1H@SD$8?W=P[O/X;^?TKS4T#TI69:.8.^U'9-414&^4B!V$A1#K55 MMM3*D+9(4M>KQ5I%VK!G:GJTBO!A)49NDA%I-C1LV7DOP&@:'4#K6&O;P]Z) MUIJ]\F5]2\_3H>N"LE5X<4PH?^2F8+_C /W*-VQH/OSGP_^"OK@(%T$_OD5K M^&\89:L.*/24#@\F!T<'6#Q[774%'K/#D8]2]1.?L2V*U#TF])-RTJ(47=BJ)RUMF7?6S" M!PI21ATUA[W$%VUO.,2>"/H1Z9XEM;IA*IAE?N_(4J'NT<%I3J9X);'*5J7+H6%P M#X7C%"Z/7R7+8FAX7 .'5SE1[A N*5(6:0S)U M:W];8S=!39@^.M@_F"1*YK.3]_>+^!%%_'!7Q*N[DB?Y^0F=)_/_).8DN?3& MH6:@8*VJNWI114]G>X>XLXP9,F=4 >)%!^KQ=:=;<6!"%EV$0U667=,9) H, M84PAS)T^@,0DT%G;R-)LX YN=3.>*):_1[KNE(]P3A*7=!IZTFB88@/J3N2PRPI4-#6B$+5L$9727W"F4P%L%VN77[MMBRK!KQ M,=#S[0 9D;093> 7_1BM&.[@;D_0 S7%_'7G!+'UKF1&X"OOFG20?.SY )(/ M$6!X!_@9XBY#_Y$7\SMBG/=0[R09HGL%0UL2/'2C34\&=]P^7._'^^0<"KG'+((P55&=[KPZROA.VF^C:](PI7,2C*"UKO$+9 MBP#.5P[!#!LQL'O7+O\&4$L#!!0 ( (B!8U=".("\+ @ $(6 9 M>&PO=V]R:W-H965TPOGEL\& YLM9"EL7R]EA9FY-J5P>#5W [LT4N2>J"P& M<1B.!J505>_JPG][;ZXN=.T*5]J+?Y\$'=+1Q_&%Q= M+,6=O)7NW\OW!F^#+9=R$+) N9.>8@\'HS9'Z9+JQ_TJI9FZ0]RFKK=-D20X)25&CM MT"&8A$<(XI8@]G(W&WDI7PHGKBZ,7I'AU>#& Z^JIX9PJF*GW#J#604Z=W4C M"E%EDFZ9@Z67T@E5V(N! V]>,TCGAF5ZF"7G MRS.[%)F\["$AK#3WLG?U\T_1*'Q^0N!T*W!ZBOLC/'.2SV$ICUCCA; +>O6Y M5O>BD)5K/\C.!V%)SPG.<;*<2;/U$(DJ!YNL_1KYKW% F4;^6B=S)G,+27-= M A4=4=/5(4ONK8@M>?/#C']BB%=YW_7GMT+;1V]LDXA,_'Z6BA#?XJBEM^S M!+$JUT@C\PFP-Z^Q/SV)SNF,1L-@.!EV!^-QD(33W8#7'2 71E)6"&O57&$O MJ):QZ=@JV983\*A_P_CZ=X<)X:1F38H"U3!GE"JA:'&JE$_ MW1GU4>C2I_<&W8EQ:S_/N+5$O^ "O\_>G-R?^]$F?BMFV@AHO-[M!&LDHR 9 MCW@P#4;C*;V5Z!\6&N&A2MC\7I8^*J,H& ]#BD;!*$F 6N6RAK; >F:59-M3C/+6U&A M,II"6YJ+3!4*JA0'?=LG](XD H2,S)%X?/(6ZI M7!,8K"C\YJ"^!()(V_>+HN??@/.-R@N1MT6)?%4ZB_O15C'0%P?"-M@DZ3$' M\Q;"D<*O/CY[)'@\./I<"\.!S&IXFM(W&SSO,1*6( MDI@P5 MC.$I8%80EU?MK>C3QXY:N<1J],*R9NX8;>P;DNZMJ$RBM M(;P$W3!C8VC,F#;@+''#!G/*DEJ:(^V =?AK @/J<09Y?]C J\:$&X,?2XAO MM0&[N+$=;<["3OWFP#ADU-.B[W4RWYL3PVU.7#<[_LH[,NTMA\0F%5YVP4<^ M+'E[L,R*.F_<-H.Y?XS3:8%M+T20;>QY!%!#R#>8M&C#+2RZ& MCLU]+W<$KVQ7U6>CQ[LNL>J+QSWC@/GQ+PO5KX^[48' MK77&-6(X]O^IK^, _) A. FFHXA^00^P0@#L!IOS [+O-U$A[-84M1LR49Q& M]&87\T_&X\EYE^: G-P[I*-DMX6W#BR3>2,B+:7(%IO$;B/U7Q:.77*M0>;7 MJ'J^K:+?ZF+=AO6*RT6E:VS,R(\P\$6P*2GL#C3BL]K"DM;N@(JI4#]S93,/ MOS6O5NAJK$=FW]ZC@ GNN#NQY&NJ*"UC 0X=1D$,+'F':@"3*9_V8BG1 &9- M)RM:?&G40MN^A(GV<_%+L!/DC+J[DUX!R7V6AWD-M#9FL\@PG/.;J#Q*0QK? MR'G#=L#(02'*N_55F7P+(Q"J08T;P4&MFWAO)+8;3W2X20;3;8TXC==;:3I8 M>=!.7SC8AT6SI\P/@W1UNKB'_=@Z]2-3='?"-J4H*]9*KOK M+!Z'^_\([;=8_[A6B/J[Q.)P$0<*)KJ#X=[QYBSIQ_^P-0_8)TOIK]R*=9_^ M\)I?9YFI(=];)6;<-?'YH)D1[4S1F?GA5P?M'LC2.;*]J3W>+;6S*D=UPJ&$ MV^FY]&>:81"E4P]GZ72XHZY1103C/[K3-.76;3*,6S6B( P3FB9Q>TC21Y4[ MHTDPGH[:=A=G@T,W1H/.O5XI$31\>\F&J2O77/%MOVXO2*^;>\'=\N9V]7?$ M'(Z?Z'3F( W[XV&/3'-CV;PXO?2WA*B63I=^N) BEX878'ZN493;%]Y@>VU\ M]7]02P,$% @ B(%C5XF8P2>B#@ TB\ !D !X;"]W;W)K&ULS5I;;]O(%?XK S6[FP",+%&29><&V&F*ID V1KSI/A1] M&)$C:;HDASLDK6A_?;]S9GB-)-M!MNB#+8F<.7.NW[F0KW;&_E9LE2K%ES3) MBM>C;5GF+\[.BFBK4EF,3:XRW%D;F\H2/^WFK,BMDC%O2I.S<#(Y/TNESD9O M7O&U&_OFE:G*1&?JQHJB2E-I]]TW];RP[9%G)0KTUR:\Z+K>O1QP$O5DCZHSIS8[1VTJKGE^SJ#=R#\\JQ96U,MLH M_OZOJU516KC)OP\)[VC/#].FT'E1Y#)2KT>(C4+9.S5Z\^-?IN>3ER< MST]1?Y21OHV2>/=[I)]%4 7B1-PD,BOP6_Q#9A7"E:T0"%,A"HRTL3!K M$6N+X#*V$$_+K1(__N4B#"^53/1: M@X&"9!9+KN+/W<6Y\HR7$*9 MGBH4!\YL_R29Q5 A\8XO"@:XDPED+$1IA$KT1J\2)11K2T&\G2ZWQ$<.G=,2 M:$IN-E9M9*E(VBJGJV$PF4SH3Q3D[P7=(:-%)DUA9V9@S':M,N6-VIAFH&BQ MDV!&6>".),FK'!1HL3.J3(@XL8$=,>\" W2?7$MF^Y\*D)U>=KSJJ)6QJF=: M6=9PG4X2L?(!0?8#,MM:('?(2[$U.W6G MK%,&&=LY9F2R6'.HU IO]CBZ6 "M5HILOH&F+/P@(TG+H@0!LI1G@UA2?':C M/D_(AV[\=>CJ1D&#L*68Q@%E!=S9#V]2&-+_*_R_X>\WUQ_QWX<=3*HB[0#/ M4KHN@M;P(J^@3R"COT5RD=F: '1GUS\[X.?55: 0 /?%T$>.X]. >\B<5*RX M(])[,Y\ M1."0BNU@CKX]-R9<4/!>P_&W1S%.)=/:B:;]5!]N[Z+?]!#)(NM MW_=M:#A0^@ 5Z CZR &!I&LJ0U>%CC4R&6R.T$ =2)^I2E<4[GX[@X$S8%;1 M'3;342#%'@#5#NX-DR%:9)+LA;R3.I'$+1E<%T7%2NH%GW<-79"D@"B/FRB- MZ9BG^IE8!A>7RV ZG_OCG:<^U;A%@GF>(-5_ZG3@U'@BUCO<]J*41;O*K4Y$ M& :./3J,XU:N2Z)3)X% J"\Y/#\0BS&=N6TQ$6=U&U MO[R7"KSD32;T":'&_T/YK67PJRQVY0\_@. K%8%2!\0YGW:SSD]M9O4)L)_" M"/:;O-W!F>ZA'D9\YB)7P@78L>"D41[R[-9C5WMQ,2@@ "H5F&??&98YMP9I !JM(E_JH(X1X?QY2JTL-J^5);:1[+2) M/4\YY3&BWM$7TJ9JRBUB"1P[S[M8_%"S&26F(&IH,AEXW:Z6W"%>?<&]UK8H MFXVQ]S08:< B*=B91U+N*W6DGB+;2"*?&HLK7G*K\I(K@&;0$/0\:BNIX"H9Q50/HX;T,Z@5 M19?99,P>K^PTVU&WV48*Q7<0L2J17EDM9RZ:/WH$( TX-, V92/=N!NCZQ'< M2"NX"UP149@ $4LQG4P:DW^M_T,N5SN9T[*O!TZP/0'-(6)VZ[?TZJ(&GU*F+D7I?RWU3O"=<)X*$+%'XKBH6S>RRHG9(4\!* M'!ZIL138B+AIJ\C2E)(:H73%O-P9QKB\#GW@5BU7M]Z*9*YI'Y_A^#J@3EPN MU E[3H_9DZZPLR=[/JW7]]_VS%(G(*JP&TQ%*Z L%[);";]J@YATS@>HC*/3 MU>!W:!H<;*Y)4'=C;4UZR';XYM IA!/P3F\MJOE)54@-1,'E]&6]B-&8C'7G M0]@JFCN XYU(5QHN5++>!GY<LL[17:ZJ#J9-)7U0%5.\-2-7'UCR:5Y]^7?'1 M53J@L13!C<1)1(;:JRP#WMF"9I*>2+V2?%UE?H#E7,\ZCF3KG3U.PL7]G'P/ M1JBY=YLC2J*=IMOU %1,UOJE.FNZ?%DT$Y:X\;=Z:7V.2\:L+_F7S*/+4C5X.:B,63).\431'4MB MUA.A+V@F*>G6XR.3*.A<9\UTUL^>FX7=(5(,]6[JK$_DWK[[Z(:JKK@IN8[U MO'19 0>N(&)>F"GBCL/.%1GL2RM3;OTP(8J 9.L*Q7BTU8A^-CL5+LJ6P$_H MP>;&)064Q^ M:-3BVJ96NB,5S@,<.&BJM#8_=D_J]1(#].HQT,6J8(B(-%G,-=:=P*D'><+[ M]0D_\/PT68\R24&M(>J?.Y4$#S54+R;+KX)G9RJ0A*LU8[BM3-8#XKRE:=8I M_6:*1K"V].7(5WQTZB\^DX[R!!XKM[0;5?[90M\C+^NDGR:_GX3\"(70^GO( M>$"TG4LZQ7U"'E-&3[*#@V$><1%SPU"N63N@""<[BUR WW*G/"RVCL[!W#%_ M^P"A;TYJ8;H$.EM<>NHI>$"E45@'<2KN> CL)768N)Z;A($';7-'NA6]TG$H M.CU57*L2-E5F:EVM%-%^K,N.Q<]FZ,0T&:[M%U>V]D2@7E,6NV'9USV^?P)( MP^Z=?T*K?(I_.N('H=V"@TZK+W.!$3AT;)J9.H"AH8Q*W+S+H30.($VSL-Q6\OW4=-[%J1/]H%_ M3ML,:NX?TL@(:B=3)'OR_^9'P,GU)"SV96O*-?> ^*@^>?&WT.:>L:D_CI"? M#WJ1;TKP=2LTR.@<5=,C434]'%73;XRJVI>)=4_'A>5@Z!TDQ^+_5 + M/5&UAF;(]97#49GKG$MH(>,[Z;M#[!T&ZI%EW>AD%>IL;25P .=2XLJY6*,I<$VLJ'!*?#'$'E$>B=]J+WNFCHG!]/>_;G1:Y[+^SZP'MAOD^ZO:^1TD7[X-'+4&42 MT5(J]S()K7*/[$VB8^G>,L"':XMH^.=Z4'[/@:H4]]3G*1-#9$)1Q;,7J,!H MI-1]U7"0X'^FT#EQGQ&6+=5^>VL*!H%!&(LGXGR"?]-PCO_A,L3_V?F2YA0N M>?(["VV:%//%1$R#R7R!_Y?+"S$+IM,)SD\0SYN@GL^XQYTQ(DES&J[\PT.#P(+R8X7,>+&93?"Z#B\D%L38-SB<3KDN= MQMC#N!KE%Q'="Q3-N/F4!0&AA7M*ON>^^CO:\W]BQ/YL^PD98KKDS_/E)5DN MF,P6_!GB]Z2[]Y:-:.^F@\BR!Z-Z]? M=!XV59E'F\'K0T_.QY.3ZWM:P_K)>'%RO7L)BS9@Z?3T4M*I?Y,(N;NR/$HD ME$IY1NGQU#48_8G%^'YX:D=&@W?C.@JOIQ:PQ7)\Z+7=L\Y[UJE"EJ*WR0ED MJZQTKUPW5YL7UJ_<>]KMV^PV5Z8L M3&ULE5A-<]LV$/TK&-9M MDQF9DB@Y_HCM&<=VISFD\5A-<^CT )&0B#%), !H1?^^;Q<413FRDUPL$L0N M=M][NP!\OC+VP>5*>?&U+"IW$>7>UV?#H4MS54H7FUI5^+(PMI0>KW8Y=+55 M,F.CLA@FH]&;82EU%5V>\]B=O3PWC2]TI>ZL<$U92KM^IPJSNHC&T6;@7B]S M3P/#R_-:+M5,^4_UG<7;L/.2Z5)53IM*6+6XB*[&9^^F-)\G_*/5RO6>!64R M-^:!7MYG%]&( E*%2CUYD/AY5->J*,@1POC2^HRZ)RUEX68N9-^G ^]'!)'X9I:_XNF"?/F)^*#Z;RN1.W5::R7?LA0NGB23;Q MO$M>=#A3=2PFHX%(1LGD!7^3+K\)^YL\X^_V2Z/]6OQ[-7?>0@+_[9JF:J+"+IWRCZJZ/*W7\9O1F]?"'#:!3A]R?OW"?@)U7.E>T %[+:,YP,Q$H)[5P#HV0\'20G M4YZ9'"6#\6@D7"X!S !%ZFK%95:L!Z*I476&HQ"J#(WFX%=-[%HA7*CH1,];SCJJZ55"AW(B_>5^"#7!,:8P5CH EA( M<:^69"!Y^LQ+'Z;CA7J&F!U.0GQ$P.SV>H ' J!!6<,FE46Q%G.5RA(0+!8A MF@"<]HY6T=422((N*U:Y3G-:O$0DZ&N%2$T)0H4C[@=(72V4M8BK'!7= MWEQ%KP/)=YI$.@..!7Y_DV7]5EP;S+F;74>O=VG$$!"'3!L+\:=%XSBA)2># M3&D\TRZURF_4BU'7P)0(<0&/5@R90LPEU?&(\("BYG[@Q'P-"-:B5#Y'P)R[=L@;+&04WEP15Q&&R4MK MNU%I1$!CIP9 Q*NX;PHEIN.CEA"NS4X1XBKUL?@,?]!Y93QD!078L S'28%L MXZ0W!CQK:*TNT5Z>L?B[Q7*E*4_FBI3)A<[ 2UMHA&(69^*5?LUCU&]EE2KF MWLF"NR(:QF9M\&B:)2M)M&X"P#0?99WIT/_[>*-^7^G6_R:,)W1K.BFEQF:\ M-NN:6@*[1I?$.^*LI45-$'/;9#8.^IAP@BL ZU5%8.H%>AZOR!6-E'KN]JS< M!7L\EA84V */]J'HC@U19CZ,\!G'L M=[QIJ #J)I;0#TY>CJ!7R\_"BAM%2&S.A2E+T]#6N>CG2KQ;I-W8J#X_BT>X[89J^BV2= \2EW(.5HC M:8E[Y Z?._ $0BFV'P *1][JA\6TCYA]-X-A[YI6*KODRRA!!]V'&ULWVMUW MK\(U;SL]7)8_2+O4@+I0"Y@"SZ-(V' !#2_>U'SIFQN/LR8_YKBS*TL3\'UA MC-^\T +=?P$N_P=02P,$% @ B(%C5U]XKBO$$0 XS, !D !X;"]W M;W)K&ULI5MY;QLYEO\JA,8S:P.*K,.7<@&.D\SV M(CT=.)D)%HO]@ZJB+$Y*135995GSZ>?W'H\Z).7H 8)8JB+??9-ZN37VJULI M58FG=5&Z5X-556V>GY^[;*76THW,1I5XLS1V+2M\M0_G;F.5S'G3NCB?CL=7 MYVNIR\'KE_SLHWW]TM15H4OUT0I7K]?2[MZHPFQ?#2:#^.!>/ZPJ>G#^^N5& M/JA/JOK[YJ/%M_,$)==K53IM2F'5\M7@=O+\S06MYP7_T&KK6I\%<;(PYBM] M^25_-1@30:I06440)/X\JCM5% 0(9/P>8 X22MK8_ARAOV?>P9@K'_XNM7WLY'8BL=I59A\V@8*U+_U<^ M!3FT-MR,CVR8A@U3IMLC8BK?RDJ^?FG-5EA:#6CT@5GEW2!.EZ243Y7%6XU] MU>L[LU[K"E*NG)!E+NY,6>GR09695N[E>044M/ \"^#>>'#3(^#FXE< 6#GQ MKLQ5WMU_#M(2?=-(WYOI-P%^4IN1F(V'8CJ>SKX!;Y;XG3&\V1_A5[S5+BN, MJZT2_W>[<)6%T?S_(2EX)!>'D9 C/7<;F:E7 WB*4_91#5[_Y4^3J_&+;[!P MD5BX^!;TGU?9?P!._+915M)W\4'!^/&@MF(%[_^]EK92%GL@K,)DLE*YT*6X M5_G6&(#1U6XH[F2A$3E*+8=BNU)8NE7"9%F]V0FYV5CSI.%9JMB)Z^OA;#R& M5]8$<$GQR"SQ;ZDSQ7052@TL%]JA7>5"LE MG%S3&P>&G1,;:;\*P^R TL5._*HJ:S:FT)4LQ0>]5.*7$JJ7)6!#*!M9[L3I M *OHW>!LQ*P7) 4A'ZQ2)#)&)\(:K+[_%;(X);[_\J<;['H!".?=W9\(";^= MO#ACZ%W29M?#^0^0=C'^HR1U=W;)X75':&9:Z?T! &R "(,2'U'0YGHB[E7)RH^17]5/"Z&WM4#027Y2 ?2G+7@5& M:*,N=:5E$8RP8WJ +PSL;_1%YB$$Q('J3"<)5=.Q(4O67@(WB5>*\6%G*$\8\G M\R'%@ YO\+]WE#U7XI8(8,<*+'L"VV+KKTP&U)$'?T'LW< J(JQC1G5($;1' M/54J+"&^.FRQP&6>:ZHMH!+$%6UR-Q(?:^MJV3#0)W>X!\]K,WSITYA4XXDA MHUY94S^ 4TGBG%Z/Q.<$A,$294?9.@#/1%!SMKJ5? 0U)80^.4.\Y-KIN#"* M)(Q#U-/S)3Q"G%Z>B9V2UGE7B^"=0E2&*_TLGH.L[2/;UT;'/I,#>(M\4C;3 M9,[D1Y;41KMR50 F= T2*FRGS1DL5U?D4(56-3V18"6K+;E9KC;&Z2JJI;_' M<:P"SQ91X5\^$X4M*"\+RCX.";;@%T3E0I9?15U1F% MN$RZE3 >>UW*&CS04P/3*9W_Y)!"M-F* MO^0*^=]S1.*"5^S&- %Y&?R*-U@6K<\;JE&4)D\R"UVR@?X+= MLHI0<@&B\[33NA;725O89OJU92^%H00K6V;N[7GF(VJLV/J)Y=8Y_5"R>$@E M^%JO-]%8]K-+:_EM-,INAOF'?,IV%6+&+V4V$J=A7WC:5!2;5N39KC0LHDTE M&WPH4 @A?4J B<[PI;NP1CV;]!] 87E1Q(@6GA$5D^L7SD6%74E?^SH@5)E?I1+;AW2>6)?-RQ"0DPZ;%=&D ML"(R=D0C20%4F*J2B NQ/<0R"LU)YU:%O-Y"RP80=*[1LYE%H1^"@WF--M"J M%4I4F66V#H;#X)=56-3PYHUNB'%HPY%!ZDBL$ZS)1^[^_ER)/Z>6#JDIJ[O;X$&.%!4["*&4WT6LJA3'.V' M)/E<+=$4YCW1-T /58^HNY1ZMJ;Q1HR,(?AR@O&08@3N60X)]U2#E$S92NHR M)')J2G>>GD(]E4:6L@.T=[HX$(Y\7U7+I^[QCHMY"O;]EE>DD""^(QCLZ9>!!]]^& MQA%I#S4>6V0T)4:A 4QQ/)G-OI)=QX&' M(BSD*2/P/*&1EZ)D".%D^L<3M'!;7GF:5FJV1^*1I MW"%+96I7[+J:RA6%"EW&^*]=]39+"X./CM"L&@P,6,8R.'\02IP1LWRTR>>3BB'912!<)H&I]:N6$BB\LBQE 2S+4__O&CI?V)A$_BW'+3' JZ M[7YQ*WK"]9H/L\#*C#\SRV>'7*%3_G;[D78":(,\-BT9AHE]S#B054FRRI'W MPJ-0]YVRT! N -J=/1?W;0IO/87/^DSX=7%]9FXS6/ZOYG?H*,.VCF\NKH!AZDK0Z^DF/L)UD]^7E8_1^=ALNI%'146B,6=8JV4PSV[/^9JI"66L;0?')'D'BQA$FHVG.0REA%/%11$== MT/2 BBJD2@<1M*H4"J![<]H.%84_ /A"J!_IA)Z+"9]@:&+4P%(RHX:+YWA M'?R,/'=- UY_Y!!2W9+G1!&,"WX:T*3R[BC=+#"4MK-.R="I=7]VGAHZ13Y] M2EV75?$$D M='W]CX4(=PQ^=JMXF&_6Z4NVL0J+Y)O-;GO6N6?$A]O]<"/>G MDN![%(R]R2[(UGQ3@FC[$,:3CM)4+ ?; FD[%J1]()H?A-OBU6=DB*8HN,@T M/3_S,PUP2M(+C[@,@ A\<^'V0OEGED7[$D-/!'\C$7WC/8N(Q-/Z]+Y-@Y<) M_)QG0M,71SY-;OIQ(VQ$8,*[R? &X>ER.+V^P?\7\XGXM(+S/&-?;"^G8Y8( MM?_W8BP^FRH=*(8-B&(G ^EZ/R9Y+J MO8?]7H(Y(#/@$?>9F(TN_,?]K;$.%GQF=872[L_?M8<[*AF1/_>KAL8^&J); MI;4?EO=-FC2 E$49;7AU>4.UZY%BAB(!I.*;=@EWWZ';XTZ]1'(LNF5]"V\( MY-]UKN]YTO^R#-_Y_JL3-/=TQ)(X;10S"S'HC-F<3N>TX@(?KZ?7]/$2'V\@ M!'R\@CS&DPL^"173X>5L1N:#O,A#SLEP#*OU-HZ0AT9OW6N&!>+W!2SZ VSQ M.=7,M;_'$NH!O+P>'TCJ*4O?(^.4E&M3(=835"?D0UQ4X9;M:OTGX_]S<1?F M%JU#K_W@N5]U@.:KX?75A?A@RH>VWWYG&ZJTZ>0R"/%;S"69>+=LWRN*EQG\ M>-_5FTWAY^=TFL9'9]92$N\TLR5Y=0%9U-;WD'%PAI8]0&COHH2[L:@)K,8K M?QC\!.?%,R!8HR)$4<2=)2-F"( 4"8CCAT. >$#7.LL#+0T\KE>LR4!82#FQ M/',5%*M ;EL4?@CI#J-%&_S/,'*.ON?O+E;LSN2P(?7[(F,M=[% C!;-\[= M0 ?&4A$IW'[I=3@3#8/D8$6'E>':5/DX[$M+(&B*L! UZ+Y(IV2-HVI^2Q*DQ?Y"6@PB)(+2QC4!'XKV?%T3_3IYMU9+N M!*7B(Y;"?F9!Q-$Y0=/S;4RE_ 1B_T@EB,:U%=82B]7N*\NS+?#%#JWZ7EC\ M&,E[BV8"2S[Z4M>[EP^$]ZU ^&L(A!P R;A:T>U]+/)I.9\3M"V*D_?XYL+_ MG-R?6A,_HPSDT]1>?(K0NO>U3Z!?:A;"EN458S M<6_H+D/W6-X'(B,AZGB6^ID>O56+YB"OWO#9Q63O4AO/)<#1+BR]8\Q@_'Z3YQYNT*38?2CVS& M"V.M-^M%N--S,_XS_5$P*$TK#NSR'I$NG%34\.16;E.'D.1!ILN.A1=[;0@? MYOS*=P_2Z;P?7OIZF8JJGO*/*XEJ^P<8Y$<*;,K?K/RB.-XLJ*\A@?DRON!U M,O/>$D*W(8?U)P_]X-V>LNB2 H4.87/3PD5)%42Q)-,%3KJ-ZYTPG&3SG3^J M9; 5B8ECTI("LU.A0>HU%5DA]=IQV\ASV33LHZ,,XYB&'(RW])=G&]+V4VC;'(R263E.LXO6*>A.<3CLZJ? 32"D> M:HF<6"G5G)BE(4R3$=B?"I@H+(*NNOF/*I8%=.\K7 (**B!Y$ S=Y<^G0SKM M\U=N7 VG;IYYU]YML+HHPET2'NH$*/Z:0J2C(6./"FP%=I2YD1< C;E';NZ?MWYXL5;V@7]> M0LX&X?C?8*2GZ1&PO=V]R:W-H965TE098;C+'LUK)2VO>EYVKOQTW/71*,MWW@*354IO[EDX]87O5%OMW&K MEV64C>'TO%9+ON/X>WWCL1KN40I=L0W:6?*\N.C-1F\N)V*?#/[0O Z=9Y)( MYLY]DL7[XJ*7"2$VG$=!4/A9\14;(T"@<;_%[.U=RL'N\P[]IQ0[8IFKP%?. M?-1%+"]ZISTJ>*$:$V_=^F?>QG,L>+DS(?VE=6M[!..\"=%5V\-@4&G;_JK/ M6QTZ!TZS)PZ,MP?&B7?K*+%\JZ*:GGNW)B_60).'%&HZ#7+:2E+NHL=;C7-Q M>LM&12[H1OFXH=^\LD$EO<+Y, )?K(;Y%NNRQ1H_@?6:KIV-9:!WMN#B\?DA M>.W)C7?D+L?/ MYQ/:"CK$_C;'ST#-[1/MBCA'?TS<'2G[-YB!ZKOP[%W<). M#L-*W[P)M;0I_ MBKMZBUS0J']\>M+/CC,*I8+4Y!:"_WV@._8@3#/XX05[81<2+CD+-#<*5\(FT)[S!OG \1Y4&U 5\[F#6C9" 62+N):6QVU M,L3WC49"M%UQB"+=(9FO5< :2,:HN?.JG6K@>HN:4Y#H@/+T0RR9A.8X.Y/U MWB3MC)]Y0I^MW)F!3XH])/)&71WD1$S MVR74039@6J/:!(@BYZ5UQBTWXD17,%XQO?V =#FS@?I2-VR_X#$)QY^1<+OD ME#TI#GP%VGCQ4B)*J)!;%866?6CX9$6(1)=?U44;*8[02ID&V_-48:[%=_/4 MQ@7%AQZ1$LY9' 2-8D*G!'2,AW^XB:6*27 =@J AS%AJU$2-5H/!@#YRBL2P M-*#XN'VIJOKL[4[CAYQU$R*&C_)&19.T32IHC\J\;^ "B0 Q*=+4KSM=!.+9 M0DOJ"-96/I1=J9 ;5#%K$:#!+/=?T^A+)F90Q(C34?]QGRK;S0Y3O8X;S[E/6396A09/<-/R3: M;\=SG<8SNE"[8ENH+91H_F@SEM%]'5Z4(X=Q'7R_18XC[/ M7@SP?N$PRK<+<;#_'\+T'U!+ P04 " "(@6-7PRY@03 + "V( &0 M 'AL+W=O(J5/8A6KK/M+$ M@(\DFV+3!'&[_6&Q/\@29X9;C3@5.9ZX?_U^CZ2.<<9746"+P"/Q>GSG]QZI MO-K*[C>UY%RS+ZNF5:]G2ZW7+T].5+7DJU(=RS5O,3*7W:K4:':+$[7N>%F; M1:OF)/3]]&15BG9V^LKT?>I.7\F-;D3+/W5,;5:KLKL]YXW*N$;%G'YZ]G9\'+\YCFFPG_$GRK)N^, M)+F6\C=JO*]?SWQBB#>\TD2AQ..&7_"F(4)@XW='O9_F,U7Q>;AK]66[_P9T\"=&K9*/,+]O:N4DX8]5&:;ERB\'! M2K3V67YQ>I@LR/U[%H1N06CXMAL9+B]+79Z^ZN26=30;U.C%B&I6@SG1DE&N M=(=1@77Z](HOH&+ML7=<+KIRO115V;"RK=E'O>0=^\QO>+OA['UK'0":?'6B ML3$M/ZG<)N=VD_">30KV0;9ZJ=B;MN;U[OH3,#QP'?9+HI5J7%7\] M0Z HWMWPV>FWWP2I_\,#O,8#K_%#U/\JB_WEF[!>B=.^,\7D'"-KS5?76-?; MS&-;#C=N$?2G;-^@YER:J7[!/O#.6VXO"D/VY77!F6 M?I(WO&'G0A)KY9IOM*C4,?LX)=M3867'V;H30"#1W)J !@.MX0'05K;B#\,Y MI(7]-Y7>8#YM8B:L0=^X!\R*L#?<;HC"]:V9V85E-JO >RU4A> 3[89FB_8&JXV9P&;%.PW M'?_*P0[%#*MDAV>I^?<=;_"H&?^"S $] /"K)6FJX8NR\0#$%60A%7B@//J* MYM6RE8UV0G$LKYH-((4X)"U87LKKAN^SO&*S M@4M+]WC&SIJ&"7BG,J2G!/$N5YP=-E*I(S;OY*IW -E:/^)?W&PS2!;\:E>C M(NOHAD/R#/!"^8AIJ>%FE34ZN:* UHD+>--=0IX)C"71^J_LA+[M#3_ZI"-- MC*DE?J%!4M\*66/1\-H&A/'06G(K;L=O*'&:E3NVV,/!_7Z-;?:YM;4B6;NK MB85;X\FU=#L;KWG2SL?&2$[>1F*/!IF\G@IL=K=F(R7]T@IJ76ETP@1O@>.R M4U &BHF:=W;B4B"[=@1L84Q?6QJT MP(PQ&JGH$%J0-JSUR!.,.D=XJ46'&@5,N,@P&VHY(@KAP\3.I-6:>*4,147- MSC;E32F:\EHTSDD( #I(Q^:BA;D$7&ZJ;Z(V;9N,U9+VP &Q?"[+KB9"EX9- MZ''B21U?;)JR ^_6E91A>@PY T;@;PU8*8$">-R(V@+F1!I<:W$RVX&%0R T!B4&;:K-VO@8,=#[L%/4K7$:1XVXZ=- /V^)^M;8PB/! M3*HC%.W$]<9P12[?DW(>,=A\ ^=3*./TTGECKPYOW(>Z1RP:2.G;-1]UY PP M1,'/2][+.M%$CT)J@/,[(#>"I^+KDOJ;VR'W#L@U M;/"(R>"8LYQM0D$%M) MD%GQDN)DOFD&?6'Z7.C>Z[JAC(((O1E&!ZYY)90%T3$C\A$XK*1SB8&M(6(" M8N!HOQ^[#/QP!C#@802A- J+5F#891]IX$$VHC8N0:C/KOF!G\.X# MEGA1D>#Y[3=Y&(0_3'K"W//C<&?(=7T&5I0=97<8%OAF0>&%&98%7A"G;D44>W'F WN5PQ;Y%0:\ M-*,4D^L[$H9>&!>#"+95>%F>#GVV=:],A\$1V"-N8B\":T'H);!LBE4A"R!? MDL"*7AIE,&W3F/IFP5MPV.S#;"(7>%FM^'E$CR@I6!!#ZHA%"7PA1*G[4)5UP ZAB2 YHK?4 M"PHH[3#PO=Q/J0MO69[16!!X<5!@,(T@T,4=!#R,,!*&7A9AV6'F%7%VA")A M3 U1]ZKQ)ARRA4AF#T+@#H8SVAG+_;!RS_OPP8P A_-B\+P6WA%'A^QGX!" MC^+#$R;]?^$AA%Q^M@L"?5A0@$$1ID<)/?+A[@.C/$I;!I^&( M7AP'Y"QY5-Q%B2CS$C]RJ^+(2R@>?#A#%O?K_!SQD?Q)K"C(0R:X0*VP\))L M['3-!]$""@)7+ "!$'S&GH\'6GD4D0@AF$\R+PC")P-&BDUSA'X"Y 06^2F# MXX=^3G@&U$#4Q47Z"&Q$:8CI21S_#6$C#HQ+X=2;%!E+$\0;$@5 -0!,0N/( M"V3G($^> AR1'YM #. N04X0 /)A2'TQB"2I"5A ;Y@2M/N1OQ\YXA Q[=/Z M&*[@/PLZB OL>!AY11(]#!UIX?F!Y1A0F:>T-6Q^KXL-6J,!]00/&A:XDO$1 MWA$8MM;"^8JC. ?YVPEP ,6HG[L+P%<#;N0LMYB=%)S MNY']>#34O*3_NS;ISUR;B16>([ZWL[+]I^AO"]PF M1SC)<_U()8OS9_7;]_900-< 6-B7]+;*IV)^N(\P%>E=/_]SU>@SL\FN 9Z= M7/8NO[I/=N0.0#O%0&32?D#YG[(-$"XR[:2@9QS$IC<)Z1E[210\+=7^O84' MU*0!*2$W4N6H4@^0TW+?MC.39RV44X6>FL(<22!%HKD2BU;,157"BR_,MP/> MJ[FP8Z .(H&_@OZ$1K#G?NFD7O)MPMI_.RGEYAD>P+OCEI)@4DT5=NEU>4=Y1C5##UO<8K9 MG?..X7CR!.7M?&&8?CL8!T8_I%L,0&>KX>;V%HGT-%R%.+U5/0\$S^;2SY9Y M>@>,GPV=?\9;AY@X S\049DH#C,7W6'H3C$FW%$,!ZAPWGQX?=T.1HMF/9;LINUL6."$(F..4GIFQ7015!]-2J"]V M#S%^Y'ZG!/*A"*)Z"JDF\PS) MT/_AW*(*NS)?^"^Y+D6CCLU@L/=KY,GD6S)<=F&^F-/5.<#%?E8>>H>/\F?V M6_0XW7[1_X"J2;04[W,L]8^S9,8Z^Y7<-K1J5'8AS5=8"7NEUZAH9:%-)1P-S3*T:X.B\*"J#),HRL)*2!5, M1G[NSDQ&>N-*J?#.@-U4E3!/,RSU;AS$P?/$O5RN'$^$D]%:+/$!W5_K.T.C ML&4I9(7*2JW X&(<3./K69?]OO=W]@ MDT^/^7)=6M_"KO9-R#G?6*>K!DP**JGJ7CPVWV$/,(B. )(&D'C==2"O\E8X M,1D9O0/#WL3&AD_5HTF<5%R4!V=H51+.3:8EE46H'($*##<&"^G@D[86[2AT M%(#=PKPAF]5DR1&R(7S6RJTL_*8*+%[C0Q+6JDN>UEGH@ 7U8\RPY2+<'QQVJ.K/Q!RXZ7 MI2*P%"4(@C@+XA5?7O.5-=^Y5 32&RM482^NB=\@OMHH0&5V6,W1^%K_21F< M6N>]P$VR9\U$Z<,+!W-<2J58NU[ &HW4!9Q!G*;<1D-N,[:[<09W1F^EOU_> MZG[_;I#$R8>C_5*MZWD:7(YZ]U% 5QY-J[0,%M"\5I'LPUQM%13/M88#Y$X@E>^?"X5*;IS=5 M.U""FXTQG%<:7V81W(HG"UE\.6S,85SW@C5O"?=%.]HPWDR;M7IJWB0X/2#L M#++.(.UQN3H949\!%?L,!HF?Z0^[G'/=8=2%0Y=#N'=Y5VB6_HFRX$/5]W@[V[Z"T_KR M?W&OG]#/PE 5+92X(&ATU>\%8.IGJ1XXO?9/P5P[>EB\N:*7' T[T/I":_<\ MX #MO\'D)U!+ P04 " "(@6-7\:';,@D$ #>"0 &0 'AL+W=O(5: M,Q#1N.\QBWU*#CP<[]!_2K53+2OA\.QU. @X'ST3,.D#)HEW3I187HL@%C-G M-^!X-J'Q()6:HHF<,MR4N^#HJZ*XL+A%'UR4(3IEUG#5"+=&/RL#0?.$4O8P MEQEF\@S,6WAO36@\_&@JK#Z/+XG2GM=DQ^MR\B+@'79#F(X&,!E-IB_@3?=U M3A/>]*OJ%*:"6]0B8 5+]H4*"CW\L5S1+#+*G\<4R E.CR?@Q7/A.R%Q7M#J M\.@>L%A\_]WX]>B'%^B?[NF?OH3^]6WZ#S#PSL O46^3U -0M%2T6AM:>8', M&!JPT0&:1AA)[)%CP^(".14@I M=Q]6:+!6 :3UM#O"TC/$T>P(C7B@8"E=I,"3\?#M/HWP1$A&YUATK<1*:16V M27[N1Q\B;4N;L1=9'I.DE9;J-3Y]-=YJ565:0B>J:6?@+C5*-J!(GL>.-L1< MT0JA$ZKBEK.>->%1N^^C<(&H4QW,? @?$2H+QH8^F$.SCJ3$%CR91=5*"J)> M1Y(3>S']H7JDF7QCJ6UTR/G^5"287IU[9+JA6_85) ML$.0^Z@'IRY+1(TWRP\%11-R,?O M_NW^\K+,9_;3]'SS>4_,E/&@L:;0T?#-60$NWR;R0[!=.L%7-M!]( T;NH"A MXPGTO;8V[!XXP?Y*M_@;4$L#!!0 ( (B!8U=C3^6V-@0 &P) 9 M>&PO=V]R:W-H965T]BBK0W1EIPP&I;;MO]IT<3A0N!Z>4!AW"N/$NS64 M6+Y74 L= ']CD!#=IH0Q/!A'( MUGA'ZV[\*N""JSZ=#\]H/!R? MOX)WOG?S/.&=G\![KT,&AMK6G--O%7LE-1%(V9QP5[F@#/WL75T%^FN^#-&C M7/X^%HC6SL5Q.])"-Z%2&4][Z)' _IE[LW=O1E?#VU>\N-A[-PC9@\9M72@X_R6^*G6E4B1<1F8BO)I=@6ROB[@ M+RD)#*FZFQY"DB_D/JM-MD64O@G,M*H]Y#SE M*,,ZI(&F(OWJ<#]"D;][#V_O75GJV+HGUN]3Q:[99II#DAG=?MNGWV%Q MI3>;^%D_2L3,V[@!XUPIN,.9?4:=^)&PX!-1E>Z@$U4^BL .V N=RF7E$C;GV7 MNP9U0"MZ.^I?8I@:@WB<46I4*[*-1K3L"P/2(*Y]2K4$Q*4D9H7R:PXD?47 M+:G307/D6%< .FB3G$+$7YM5N/?2-6?)-5'LV@*UCNEY-(SS$P$^2_J[ !>2 M][TW;X?]JYV7HOU5S?"FPEYL4[JKFKSVD@E!7#FIV#TQ:(LUR;/"5O(^122% MJ 9GWZ6RBIVIKJ"/I;&KXUW,5):UY,7RB0 N%88!NBIMN= _-D@'!QNP9*1' M]KR41FUCNPSW;_>?$O-V@[Z(M]\AGY!=C9EF> 758?][;&[?[O;V$%V5]NG2 M16SG]"BSC;T(X'[ET-?=00SL/[!F_P!02P,$% @ B(%C5U*;+6M\ @ MN0< !D !X;"]W;W)K&ULK551;YLP$/XK%JNF M35IK B0+&4%J0JKMH5/4K-NS"Y=@%6QFFZ3]][,-H6E%HZCK2_"=[_O.W]FY MBW90%KX#IG347)5':%!LL*P$DLZ"RP)[K MCG!)*'/BR/J6(HYXK0K*8"F0K,N2B,<9%'PW=0;.WG%#-[DR#AQ'%=G "M1M MM13:PAU+1DM@DG*&!*RGSN5@L@A,O WX36$G#];(*+GC_-X8/[*IXYH#00&I M,@Q$?[8PAZ(P1/H8?UM.ITMI@(?K/?N5U:ZUW!$)H>%+>2'M+]HUL<.A@]):*EZV8'V"DK+F2Q[:.AP !J\!O!;@O00$ MKP#\%N"?FB%H <&I&88MP$K'C79;N(0H$D>"[Y PT9K-+&SU+5K7BS+S3E9* MZ%VJ<2I>DD>TE6@)PKXYE@)*J$P++FL!Z!S=KA+TZ>PS.D.4H5\YKR5AF8RP MTKD- T[;/+,FC_=*'A]=DVSQ3F3/[B3H[B0XQA[_U$-"7T#O?ZU! MCBS23()M?.X'H3N.\/:PL#UA81AZSZ.2GJA1Z 8OR!8]89X;CI_"&I7XH!>5 M(#9V"$B4\IJIYD%VWF[.7-KV^L(_&TSF@QY_HN=2,T:>Z)NA=DW$AC*)"ECK M5.[%5]TJ13,H&D/QRG;".ZYT7[7+7,]6$"9 [Z\Y5WO#).BF=?P/4$L#!!0 M ( (B!8U=(-45^0P( (H& 9 >&PO=V]R:W-H965T^KK(0*JY&H@9LGN9 5 MUF8J"U_5$C!Q217SPR"8^16FW$MCM[:1:2P:S2B'C42JJ2HL7U? Q#'QQMYI M84N+4ML%/XUK7, .](]Z(\W,[RF$5L 5%1Q)R!-O.5ZLYC;>!?RD<%1G8V0K MV0OQ;"=KDGB!%0(&F;8$;&X'> #&+,AH_.Z87K^E33P?G^A?7>VFECU6\"#8 M+TITF7@?/$0@QPW36W'\!ET]4\O+!%/NBHYM;/310UFCM*BZ9&-04=[>\4MW M#F<)AG,Y(>P20N?=;N0L/V.-TUB*(Y(VVM#LP)7JLHT>-);A8/ '=0C% 5W* S":( 7]>5&CA==X5TJ\P[M7]&:$WJ@I,'L4M4M M='(9:K^;A:IQ!HEG/@P%\@!>^O[=>!9\&E">],J3(7JZ;1B@<;"?WH_/M=&2 MB%K_?\BM[C PQTS!@-BT%YL.[Z=2>0)JO"%]Q&V:^ MY3;OW>8W']RPWS#WJI]_UA\JD(7K@@IEHN&Z;17]:M]HEVU_^1O>=NE'+ O* M%6*0F]1@-#>O4[:=KYUH4;MNLQ?:]"XW+,W/ J0-,,]S(?1I8C?H?S_I'U!+ M P04 " "(@6-7>8#Y\G0, !0) &0 'AL+W=OM_0"1D(09 MDF T++RZ_=U-T!2MJS$D^P76Q*!1I^O7T-ZNW;^4U@9$]5-737AW6058_OZ M\# 4*U/K,'.M:?!DX7RM(][ZY6%HO=$E;ZJKPY.CH^>'M;;-Y/0M?W;I3]^Z M+E:V,9=>A:ZNM=^F#P].WK5Z:*Q-_:2\]WAWV4DI; MFR98URAO%N\F9\>OSU_1>E[P;VO68?1:D25SYS[1FV_+=Y,C4LA4IH@D0>/? MM;DP546"H,9O2>:D/Y(VCE]GZ5^Q[;!EKH.Y<-6OMHRK=Y.7$U6:A>ZJ^)-; M?V.2/<](7N&JP'_5.JT]FJBB"]'5:3,TJ&TC__5-\L.?V7"2-IRPWG(0:_E> M1WWZUKNU\K0:TN@%F\J[H9QM*"A7T>.IQ;YX>JZ##>;L,_L_9/$2/C/KO+H-%WM/=\JC*7H=6%^;=I"6?^VLS.?WRB^/G1V_V M:/NTU_;I/NE[XGGI;5/8MC+\^,(U =:4_'R7$?^'8]3/*X,R+%S=ZF9##NT: MW94VFE(5#N%O@KQ*6_!F81L-<;I2 6<8H$$,:J6OC9H;TR@XL-4>ZVS#@GV) MU08E%%=J:1KC=55MZ(EI29H>0MD.:F)OA&*_-*S(%9W#NI_5QB/GU<'DZ[.S MR\DC-H]6ZK9%'NAY993O2 (]\&;956PF;Z9U5Z;HO(TVK?AP4ZQTLS1P2EW; MP+!V,+GZ< '10%?H$7%@/;+9-H*ZM'+>154ZB&IE4^+SYAY;H*I\(]:!/D7^SYV#6" MPQP<=N,@^@\$#B9AGS?1T9Z(CB.1=YU79TW38=-/IG4^*AQ#F*V.CQ[_BZVF M\S9&>V4(9=1[4YAZ;KQZ<5M(E=;R['2D9)"-+^.V:[/"N M?JB5$1OPAY9,[X]W:4-1N="A\*;I 24T^V?ZN3%7803QXS+)B-<%\;54G&1: M2O//2Y((]BAD1X.< M"0$-E?V-%0.*-6[+_8(2(6?V'T6&XDLH4T"CT7,3HJT9RH*EY+TGY?\V!';B MKZ!K0S0)W4&'AY?Y-/O=M;9).5;K!O20EE!Z+XC/<2'H\B/XD6S%,@T_ @,K MK 'L>JX)';N<)2A,G-M'@1*BE=ZE%MIZM ER]J!7ZX(5/&7I=U.1E G@?OR8 M]H(H^]0 _G)RCW( %+#XM'(5# C_4%3>%3JLU +Y.2C\("F20;E7 M9&]0]A-F95=;N-8V)?*3^'<&C;R:#D9]J47'HI[T;"^!^26P*A]RE>RB0 ^3P,ZX!8^4%I]78=(TJ:M3N!G<&,X3OA,@ M4PK7^I,92GVJ/G;EF5 9R@1@ZX@<.EU1KFJEU]J78=HSR^%P )Q;$^L@' T.Z4'>Y3SH+8SZ)FDX MPU@6.\8^*:N"&5AIX2B?N8C;\BD=&3JX5189/HKR [2-5GA*R-0U_S!=]U7D M\[XBG^^MI_&ZL;^SYEP]OBNXZ=$A(P*! />]-!'ON;"3BQ_??\\)PC#)^3'2F1$? ML%'T,K"'JCJWT,1E9W"A^F<']7I7Z4:R# )H7]*,H6UQRW^,5$@EVN6%:S/( M=[1Z0%)N8,;3D ; @@-=RQ\CH9=>U\"\P4O,TG?Z^-?>SJATS1 MA0?_'9$/:M)K*7)G$W6&-H'F7V_-<2P0KQVX\@&Z97@D&#UBD*2,N4FK^V'R MSJGL(DETUC U+&H@*-^(-$NW+<+)IZP%LNFVH&EFZ[7^B$X9-[=(+6*;&[BG M05@H/T^6-1Y6II2"X SMQU:T8+J7Y9W;EQEW-;@_KXDA[DAKB:+<^I *&\[D MTJ63.6O^U,DS#E*RMW(XH^(1?F0PGRYANW-5-%-?Z0+T(HSG#"Q<83!U=(%$ M5U EIF]0N:9'[S5U!=6G4Y]%B1ZG4NT'?^;F,LUL$PUPZL0H)'IY5!K!2PF^ M6$2Y!Z/*X .![3VB$#Z,XDQ>+4E7NN)DSCX^1E]K6PF1X20A /#;=PNW;Z/& M[]/,1>Q%N,6Y P4B0>]93?AQE$D#,Y14"C(1FQ''31=RWFFFB.[:E@*8(U^0 M@>.,,B.>Q=Q54JI/,]= A]XA/=#([4SV9NA:SC&>>E,.)T=M.&F2-+Y 2FT@ MKUL977(L>DK-5-G;>2?4TP^B4D;T,>^0?(&98,K&[([I<(Z0MHQ%O:BX:N0; ^AF%D940S.%0,[6M M'<341E.=++JJ]Q>6+VS,62?%S:7D^C ,"5R:P@8!T:$CF@$X]C&:ESVC>;F7 MC'R+\K2>=4-\O@-H//Z.0>.,06,7N_E+ @GF4]8*&!3:>[Y"IP_EOIJ@Z_$8 MNJ9I<,H@ B_"292=-+UA1)&6S"5 7UX]=HO''06_WVT:9*=7E*+TP8BC]NE8 M6%]T-48!'B (25"A;05& 3TZF9'O:)8O!(PD#PRR?C I3Z,TC7"_ KAT%8- M 9[@&<"8T_1[<1#E"YV1;R#X5"C/X "R@=/ ?!9IN%R@*"1!M@TP-X ]X40R MBRYD#J!S-P0KW$][%OYGPC#<>*=+C@8]J6N8.74,A:.+&"K (L$C[)8O,:(@ M&D,=B60[$NWI>]2H^\A>RREE2FD-=D@P>9RFYM^I6P4J.A[:\S$< GHG*;1E M:WJ8@$EZ+%#"F%+JF>[3Q"%;:V9T38K64MK$@,=](8'62$LDFU^*FKX<>N]# MYQX\,W()_&*JZ!KWY.C->;K0OZ(+_:#>&^!:%?CA\9O$^;'A^*C?P5_9Q*'K M7.2+#;J"G:6=>W#E58\KK_9/KA+/;^C"@;QUI2NS"TP>+H7A/=.*HD)$,.?) M[8(1]KIUR\'%+]%T=!5!<:?[*SO0T]K$U^K /AIW6OH>A#EA3#FL&0L8J$T% M=GY@L:%/"1&4*$5EY&NPNC8E5:OH(6%'0N7;VEX+%I:D98S%"3OF [9O+UZ:EU^N&\44+*>;* MQT1 %T(Y[.E.G&G)UG=C\M75+7\,E&]$$&PF*?=_SW8[(Y/*,!@%GC6[C4E^ MC#X5-R@A*9* PG)&RL65? &3FD5IH&VZ;".PJHEH$$0"!J%"7S?E'?7VH1M0 M*(/0\;,>4W95Z3XH.1S]RJ,VP$;Z+0M?]351?O#1?]K_7.9,?B4R+)??VGP/ M:+4-C]7IJ=EKPR@EMZVDG.WX6MP)^\ON1N-M.FBI MY%8T1JJ&:;$ZGUQ&BZN<^!W#KU(\FH-G1I$LE?I,+_^NSBBKDD1W/AOIW,RF"3!P^=>^X\N=L2RY$9%O;6_7X M+]'%DY&^4M7&7=FCY\WR"2M;8]6V$X8'6]GX.__2Y>% H B_(A!W K'SVQMR M7K[GEE^<:?7(-'%#&SVX4)TTG),-%>7.:JQ*R-F+6_$@FE:P6U&J=2-=IKZ[ MY\M:F._/IA86B&]:=MJNO+;X*]KF[*-J[,:P#TTEJK'\%)X-[L6]>U?Q285W M8O>6)6' XC!.3NA+AG 3IR]Y(=R55EMV#5\U8(&4VPV[=LD6FOU^N32._I]C M"?#ZT^/ZJ8469L=+<3Y!CQBA'\3DXLTW41Z^.^%].GB?GM)^\5X:OEYKL>:N M3FK%NGB..7I2U7%'[\0:_6:9;'RWDQ%I&#=LI6JTKV'?R8;9C6H-;RKS_8+= M;[00HZ(SE,R*[1*)[.OV*JZ8W0CMS#:E -,?3UMAV$_J0=3L2BJ[$9KO1&ME M:=B]LKS^V_P?^2>EV4ZKJBTMHFHJ1G'+4BS8C:=BS'A\?,NR()EGN+_YIHBC M^-T!)2Z",(U'2QWI%HGDNMPXW154U6KG$MJK38(DREB6S_!4%#&N49@2-4Y9 M'J1QT;G:\1NH+H)9%))U"'W+YD$\HWL2!5&:TX.3Q3T-TEF(."3-5K86:HWX M-[*$-E ^"VL6[!+P!H74IE!4C&+H*4F09Z01%O+"T0L4Y\/'#Y7%Y#L@B+0;-_BZ$VCP9B]_H/H_T)H'X1?*]@^G_# M7HRI:Q&4!=X)JF$8M@(YD_ M+THR"[(PP8.7!"22("NH Z(PA!:JB-= E"*(@?%7 [$(BCQS<)LGB5,0S.:% M6\BBM,.C6P#.@ H'1#"E10IH$BS@=IZ$+(J",")DSHK"A1)F'1P+ #3=X]&_ M%E$0I\E [5[_)[&?F/39,.FSDY/^^-9T;,R?U'-\S-]O1#?09;-FEC9[YE8; M0'/):T*UH=VE[+W@QJ!N 6N;I:QKM) 6I9 /[I@0[-E*98B+\#?0:LDA@X.% M>+Y['.G6]U#L*5'7FM=C)SJH4 < $%'.?CGBDYO6-&"H."&8KD3AGOPFR2@>G/\!G1WD=0/2W]\R7)E9_B#DP M[4R@BF@K5<$)O?#I=!G'^(+_#Z!",(\^E7U,D_X([TLG1#':F#*-I4; 4.SHVOJ1@":;0RU&Y M%S-<[]#_N$]KC)@SDVR"0)PB*G L88=%&8NVWSV< 9]CR_Q8T& MSHOC)1_&2WYRO!P&^O,0:, ^?-GA:PEQWLMM5_4[%[M/_;'Y<]+0Z^=/ATAS M4/,^?:)W"H5>'D/]JK6MIH7Z)3S8#8#-P=LV^YH2*+BV$HAZ&BUT32 PSCKX M:[%3X(37'8S>LOL13GN?*X50&F7[N 90&#_1E9;H+%2^:G7G&TPH]/T3]G!R M"5.,1FG7L%A\X%JZ5$&5D97P?CV( M*']=S91&(,:W5=GM"MP&LA= M(V=SZM\H=0?:T#T70?Z:DUJ>A\,.]=<[K1V9&A@H7S/J-ZUC8V-Z\., F5^[ MWR,&V0/H_#^$@3K\@;GT/Q[V[/[WS4>N@6@#W*X@&KZ=X6"B_2\1_V+5SOV& M6"J+,KO'C>#(-S%@?:64[5_(P/!?ZN)/4$L#!!0 ( (B!8U>\#SX*KP( M /,% 9 >&PO=V]R:W-H965TICTXR:6Q<.S,=@C\^YV=-"M2Z4OBL^_[_-WY M[N:MTD^F1+3P4@EI%D%I;3T+0Y.56#%SJFJ4=%(H73%+IMZ$IM;(<@^J1!A' MT22L&)=!,O=[*YW,56,%E[C28)JJ8OIUB4*UB^ LV&X\\$UIW4:8S&NVP37: M'_5*DQ4.+#FO4!JN)&@L%L'EV6PY=O[>X2?'UNRLP462*O7DC-M\$41.$ K, MK&-@]'O&*Q3"$9&,OSUG,%SI@+OK+?M7'SO%DC*#5TK\XKDM%\$T@!P+U@C[ MH-IOV,=S[O@R)8S_0MOY3LX#R!IC5=6#24'%9?=G+WT>=@#3Z!U W -BK[N[ MR*N\9I8EJEO&!PG76)_" M*#J!.(I'!_A&0[0CSS=ZA^^&:CFZ\G\XUS,S4 M+,-%0!UA4#]CD'S\<#:)OAP0.Q[$C@^Q)UZ?@7MEX59FHJ&4 I=PI:JZL1F6?+.W M4O)>BB0I8EM3G@52S%ACT*&X!BP*:DIHF0$F+?_D@=2<<.2)56.8S,WQ#!Y+ MC?BFJ(!*PF*5$K.KBWN*X-"YJQOWB7=6?5ZY,8TK=&@(IWT\-W\;;E]=ME%Z M/2O!)$Q/IAM\+ASN-6*'>^'%C*$^-M%U/#KO#1+OL&OF_>S<. M[YC><&E 8$'0Z/2"!HCN1DQG6%7[MDZ5I2'AER5-9=3.@S698 M,74L:N1TLA"R8IJVJ'OGW@5*[B3C*SM6B8CT>BRX'@M0355 MQ>3S%$NQ'CN!LS7<%,M<&X.7C&JVQ!GJ7_6UI)W7H61%A5P5@H/$Q=B9!,-I M;/RMPUV!:[6S!I/)7(@'L[G,QHYO!&&)J38(C'Y6>(9E:8!(QN,&T^DH3>#N M>HO^S>9.N9SL=.WX$,%ZPI]8U8?\=-/CV#EXI2V6]8M[X]8DP; MI46U":9]5?#VESUM[F$GH.^_$1!N D*KNR6R*L^99LE(BC5(XTUH9F%3M=$D MKN"F*#,MZ;2@.)U<\A4J3;>L%10R>TTAUO-T_ @X SK8XA\%T(_ MC [@1=T=1!8O>O\.7#C'N0;&,[AX; K]O'L%OR=SI26]HS_[+J'EB/=SF-X: MJIJE.':H>13*%3K)IP_!B?_U0 9QET%\"#TY8U(^%WP)=ZQL$,3"%K)Z*>1_ MR>S+X"#'_@QN])TF&Z5K;;*1".!OU:'K3JU\]KH+>I< M-(HJH8Z&)+S66,U1=G6G0J4;2V M(5Q-+N$C!+%[0.PH!0'^^IZ2%T M>X,^]%S?]V$B_V+&((YC"-RP/X"?I%52 [QJAG=51@1E/K="L_)]=Y+4=_T@ MHD7HN[W AWVE]W::N4*YM"-+02H:KMN^[JS=5)RTP^#%O1VIU,G+@BLH<4&A M_O%ISP'9CJEVHT5M1\-<:!HT=IG39$=I'.A\(83>;@Q!]U^1_ -02P,$% M @ B(%C5\\#S+S" @ 8 8 !D !X;"]W;W)K&ULG55M3]LP$/XKIS AD!!)TY:6TD:B,#2D(2%@[,.T#VYR:2P<.[.=%O[] MSDX:BE0Z:5_JE[M[[GGJN\MTK?2+*1 MO)9"FEE06%M-PM"D!9;,G*H*)5ER MI4MFZ:B7H:DTLLP'E2*,H^@L+!F703+U=_.:[- MUAZKR"_B(U2GTHQ.(H[B_!Z_?2>Y[O/Z_)5]SDPKE5!OX M=;DP5E.5_-ZEN8$<[(9TG3,Q%4MQ%E!K&-0K#)+#@]Y9=+&'\* C/-B'GCPV M#0,JAQLNF4PY$W KB6W=/%;[4;Q&U!3%H(6W#9 MP+Z[%APUTVGQ!D?>J&K#9&:.)T %8[%T.3P8Q[WXXL.N-5YCVB;J^43Q_R0:C4[ZT?DG MB5KCKBH*M[J^1+WTL\U JFIIFP'0W7;C\[*9&N_NS>R]8WI)[P0"RY4G9S< FZCTKR%U!+ P04 " "( M@6-7N3/XY6H% "2#@ &0 'AL+W=O-!%I8H8K/?=>-YQ5E]6QQ;N=NY.);#?QD:W6VDS,%^<-7<$MZ#^:&XE?\P&E8!74BHF:2"@O9I?>V55JUML% MGQELU<&8&$^60GPU'V^*BYEK# (.N38(%%\;N ;.#1":\:W'G TJC>#A>(?^ MROJ.OBRI@FO!O[!"KR]FZ8P44-*6ZX]B^QOT_D0&+Q=7%%.ZQS(K4%0Y 5HRK@BQY_HDH,Z.9]K5&*6SO,>\*H#]!\ MS,@[4>NU(B_K HK[\G,T;K#0WUEXY4\"WD)S2@+7(;[K!Q-XP>!Q8/&"_^?Q MGY=+I24FR5]C/G>0X3BD*9PSU= <+F98&0KD!F:+IT^\V'T^87 X&!Q.H2]N ML1"+E@,1);FF:DUH772#E]]:MJ$<:JW&C)Z&M0BP1R!4&0U(MX9J"7+@W.I[ M 7D_Z]E9WR&YP-)4&@HCIM= 2L&QQEF](L>LQAG1*A15)V=CH#\!DLOB[];" M70NER4NE&18=?KZB3)+/E+?PF"68?7"'%2*_8D91UZQFF$$"K(2 @/M.UZ6$,]) M Y=\$AI#<&CQ$?X/W,B^73\C$[S' ^_QHWF_D;C12GUG\\H4=H-;GW;(>]!C M]$\"C]-_3P/L-=28Z;\Z'&_I4DAJTVC0A,P%L1,DL1ED3IQDY"W@AKH6'*NJ MPOALH+)5Y'E.$KG$BYTX"&P>MAC9 R3C@1*EWIK:#!PWB\TSR,B'LF185O=7 MEJVL&=828&R#.#;/,$+8&AM^VQT.T$?4OY(F05!YZIDGXHUS1J(0@3(2^TX8 M1.B%4F=XOLC;JN6VO M VG-&NX,'BM)*2,W^Z2:.T7LW34[L )/QY $U76@P MBR/'3WV3>+X3>R'2?8 .WQO37]"#G+=%UY^60J^)B3N5>=>H"MC@^:LSOI=0 M'8MX'L(H.V0%-;8@WEE;5*8RL!.9(]->P&8"_'=W4QI?72@QG8QKUE9%MM1N M,UURJ9]2Z]-: MP[/_R0;>\QSZ?^VVRT";@?C;)U9)(@2NP[M$6-$74-QX&3 MQ=Y4<2=#<2>/+N[7V%^VC/.Q2IY$&:_D 6\_V)UJJ":_T[K%\S7Q>CZ,3W[H MD3=5@]ND38'C)$E/#F5&:#1]+HR#*2K2@8KTT51\P R2Y#+/98OA>\OHDG&[ MR8UQ,PD[SDV'3WM\OL?_]>>57@G^<$]H0*YLK&UL MO59-C]LV$/TK S4H=@%E)5&?WMH&[&V"]I#&L)WV4/1 2V-+6$E426J]_O<= M4K;C %[WT* 7?LZ\>3-Z)#7>"_FL2D0-KTW=JHE3:MT]>I[*2VRX>A =MK2S M%;+AFJ9RYZE.(B^L4U-[S/<3K^%5ZTS'=FTAIV/1Z[IJ<2%!]4W#Y6&.M=A/ MG, Y+2RK7:G-@C<==WR'*]1?NH6DF7=&*:H&6U6)%B1N)\XL>)S'QMX:_%[A M7EV,P62R$>+93'XM)HYO"&&-N38(G+H7?,*Z-D!$X^\CIG,.:1POQR?TCS9W MRF7#%3Z)^H^JT.7$R1PH<,O[6B_%_A<\YF,)YJ)6MH7]8)N$#N2]TJ(Y.A.# MIFJ'GK\>ZW#AD/EO.+"C [.\AT"6Y<]<\^E8BCU(8TUH9F!3M=Y$KFK-1UEI M2;L5^>GI2HO\^;W)JX GT="W5MR6ZV[--S6J^[&G*8PQ]O(CY'R 9&] CN"3 M:'6IX$-;8/&MOT?TSAS9B>.\"\UEX R\\YQQ:O/ MO))+?#^W M.2_X@22F828E;W=HQW_.-DI+TLM?UY(?L*/KV.8,/:J.YSAQZ) HE"_H3'_\ M(4C\GVXPC\[,HUOHTQ6=R:*O$<06WOQR'U[-&*]QOXE^G?MEF/PR# YAH%)0 MM7G=T[>F >@2H6]Y7U3:>I &VL&W5:*N"FZ6E:;.U%J93.B&D193 5>P%37= M% KN+)CH%6\+=?\(ZU(B?B,M(&$0S :E5<=OE,ZM?:,>T["+T9-0VE#HI"CZ M7-,U\X)MC_ .$I^:@$74LI11&R8I+*DJ7.8E$"8&1&\M M-#E0<)=E(?61&X2\K?8#UH4-U M368WXUV7V9ID,WQY*AAH<_> W34:T;86ZM^42-S4B9LF;M]1E_^+&&WQ*>H0 M\IT15)#:/DE'1H&N'\:V9S1?KKXH*ZCE:J9@%#&R8R.?=J,HH#;-8E@8&S9B M,$J,,B-2#K/.B_EG!2$I;I3"79KH ;ESKZTBLK;MWIXCLZK MY\=\-KQA7\V'/X%/7.XJJD"-6W+U'U+2DQQ>UV&B16=?M(W0]#[:84D_)"B- M >UOA="GB0EP_L69_@-02P,$% @ B(%C5U7_IOQF!@ ?!$ !D !X M;"]W;W)K&ULG5AK;]LV%/TKA)L5#J#X(7]W'.Y:7/GH3\ MHA+&-/F6I;DZ[R1:%Z?]OHH2EE'5$P7+,;,4,J,:KW+55X5D-+:+LK3O#P;C M?D9YWIF?V6^W9#?WY6T!6[ M9_KWXE;BK5]KB7G&7$R-O!?[@[$DUQL1XLA#BBWGY$)]W M!L8@EK)(&PT4CT=VQ=+4*((97RN=G7I+L[ YWFB_MK[#EP55[$JDGWFLD_/. MM$-BMJ1EJN_$TR^L\F=D]$4B5?:7/#G94=@A4:FTR*K%L"#CN7O2;U4<&@NF M@ST+_&J!;^UV&UDKWU--YV=2/!%II*'-#*RK=C6,X[E)RKV6F.58I^=7(LNX M1I2U(C2/R97(-<]7+(\X4Z3[0!$D:T M!0=9&&8_?U&)^0*1!4UI'ED+9=-"NK4PM1:*K868-/*_TKQ$F2!#EW(KVU3I MI +S;(%DS4V/,+S*"UC)-/*1PE%6A6)2[GY5##)14RZ/,>K*!54J^/3UAB> MD$^0I@8:+I8>R5$J[UJ<:8I:IY25]0C5.\X. 7&1":OZO]7Q?E+J! M-PXGQ^0BCKF+T'0V)76/?/R8?LH)R M::6[OC>;0>./NK$;;7@R#+SI;+2+M-W8J4I([!%Z/6HA0A%,*S4%73O^=D?> M>#R%A[EF0*A&K8\DL]X/(3_\\5C]F)WM89EYL\F,'.#YJ.;YZ"#/G3%70NDV M\AYIS""0CA!,U&:(#K6L!@#THP60-E"49!1@$H2TJXS<(=T2C4T(+BY MR$\BP],T-86!B!?!LQJ6/+=4KCX](7F&UDN1HHBH'7X^))*Q9^?*B\C_!N(WG W) M?0*6GP"J$;[BZ- M<6(;(!-LPQ1L\;$U.C+22XO,I139+J1-!E"'3)GR MQJ/I(>J/:^J/#U+_1""[VGJ&BE&@SW68 !$W7BEMA MFJ,FIZ3,-P%'5!N1@80Y85^E_VM<_]-F&4DS:]ZSJ+(/)\$.BFRNNEOH! [& MZM@FPO=G1B+$<.)/S'"$X11IPG",C V&H1EBRAL%@0$X+C=+( _\&H!7CH5H MO7E6;NA4GSR^[X7@W$>PY93PK"BU+:#5,83)R:#E+*D/ASL6"32<*:_/_Q>! M(IA:8%Z;IA3A,HU5;MEKX\60!XI6QR9! .&YE5*: MLEZ8OL/MN5O>=P\[V#SV)N.0?!3YJEE97EF&YL ?CJH@'G+N>P[,2V?JU:?W;>'10]_YNV"'9MI@6\H44CSR&9U]+BJN%IN;Z M29 4BC*WHM(BV]#,G:/1UJ@>N2ZUN7IL0%?##3=6(PW;7Z6\,M&?> M8!JZ9S S!!^U J;?N!%G3*[LO5\16[#&PO=V]R:W-H965T]65TO MSH;#*IVIN:Q.]4*5&)EH,Y6Y M7M9%7JI;PZKE?"[-TY4J].JBQWOKCKM\.JNI8WAYOI!3=:_J;XM;@]:PDY+E M5;/+GIQCV5J(I=%?:=7 M?U.M/0')2W51V;]LURQ=5K6>MXNAP3POFZ=\;/UPS +1+A!6[V8CJ^4' M67RDH)R7QN,YEA77]ZK*5Q<.^R3TE,C%[,\E063 M9<;^4<^487?J095+Q6[*)@'(D_VOJ\4I\UR'"5=X!^1YG3L\*\\[[ Z8O="F MSLLI^_=H7-4&R?.??>8VTOS]T@A09]5"INJB!\14RCRHWN7//_'0_?6 KGZG MJW](^N4] )HM"\7TA/U)[WW*'A2W7]FO,\4FN@!TR1: MH5WI(L]DK3)6:*P<*VR@L$^JYPIZ/&+[?H[),[VLD*W5X(Q]G1FE=A(,;EG4 M:CY&'J]SY*A9@MTJ8RTJ4X5)?SS-L=_O^D$5["K7! RY4,LZ3ROV5==PP%OG MM["JSMBMT=DRK>&%!F@G+'"\),#SYY]BP<6O6STB=EQ?[ RU77<(F#3IS"(W M@ZA"+VQ"K,5ZCL<#%H01WN)8X"]W?>H5/@L=7\2M8NW\BL5.Q%V[('%$A&7< MX7[8KO!\QX]<=JTK"B:VQ"%AI,6+>L1Y49%E-$JYN7AFH7"$GW0F-*W$B>*P MZVM:+]K4YP.H1]KXC@?5N' "1#;$*L$X[ L"1-$)O0BA+9#G4X=-50D-&V:3 M&8@T)U33B6#%<2?R8^9A5^%PCQP3)9S%<8PMPB@A76H#(Y:&;$QGTDSA([B$ M=G0$C[#.2S96/7^.J@H';#Y?R-Q8&ZS3+,.NA?7%H)L>1;']_Y*X)E8MG "7 ME\- _O!$0,X)8O**&WOT\(*$<1]6>\P+D L"#&^QU2>\#=C$Z/E:'-"(3.O# M$SP8T%OH\ 1.ZW/7B=V0NO 6Q1&-<>[X/,%@Z,&@:VU \!QJV3?PX@03N1A M63]R$C\:L&^E!,.D%NV9 OFD+1788,V)T/YH3QX.Q2/:V?%=Z/+Y)6Z (LC1 M.$FLOHF3Q/Z _0X6>I4?CICT_Z4' ;O<:)<$UET)@AV%.V-MUZL$ 1"%28@\ M<9'N'.B/ A8AIY&(CN]S2I;82YZSA!NUJWS/"0@/+I(A\M?KW!CX"'Z0 M*Q+*D"U>H)9(G"#:=+;-@VP!!T$KQB% 0$_?Z\)@H .*%H#X?0H+0 A;4*T*B=M=S M]S.'+X!IE];[2 7W3=1!6F#'ON8.L+$<7FC,:@R#FEKQ/S%%.N\1@/5 M$1G4+5"/:;',U"NZ QA-K:58H7 %J4YMV&\V>=%D TT\<4]C7!2@ Q;F%9!4 M6.^@K$+>L*G6V0JC;..W=F0_'[7)8[^RLE/N2W>Q# MD(.=:T5#;>B<+6"TP>RWFPP<5BKH?["2Q34K_?Z>;G<93)O3PL;SK1 (9=;4 MC-YL1?H\SW^L&GWC:;(;@#-!-2$G)\36JAA5Z@G.M-AMVI$]9QLJIPH]M(4Y M#H$0!\V!VUW0W>Z"HV]WU_8[@#(5,DS6L*2L33Y>$FBX^XYI U<;.[.Q:I2F M>DGWK#N5JOR!2H!SXU6S_13DCBRT0$J(CYK->>M MFG1!K'\'V^2-K*[WXW;O+]OVKN"'@B[, M<&=I??=F#\MU"I@N!=A8%H23BMR,*>0_\%>NLXK9")<-"[\4@CU9M1:UQZ[_'V4;N!B&2*I4,5@* "!1VIPC:T[,M$JB=KKU#)R)] M2,F;RKK>.?_>?%K]"(XZ1XV@#SQ46>(444NH0K071\NPN']P%)4?OWP$* ?I^N$&;'0[NF;,YTGX"7,/LU_[WUAO^IJ\-K M]G=9+J5Y8KQU/-4>?DC/R&+%0VKS[6I_?9_K8WS0_MT6N">8&YE;GPULS[Z@ M#;=^4 !VI_9GDXI9_F]^6^AZNU]F1LT/$IOIS<\Z7U"QYR51\@1+W=,(58=I M?BII&K5>V)\GQKH&<=G7F9*9,C0!XQ.MZW6#-NA^K[K\'U!+ P04 " "( M@6-7J7G+PG4# #1" &0 'AL+W=O;-E*;0-VLJ(%UB%(LO;#L ^4=+:Y2J1'TG:R7[\C MI2C.:@O]M"_BZSWW'.\A3Y.]5-_U&M' 4UT)/?76QFRN@T 7:ZR9OI(;%+2R ME*IFAH9J%>B-0E8ZH[H*XC!,@YIQXR\0]7ZV-G0AFDPU;X0.:WS=WBD9!AU+R&H7F4H#"Y=2;1]>+H=WO-GSE MN-<'?;"1Y%)^MX//Y=0++2&LL# 6@5&SPQNL*@M$-/YN,;W.I34\[+^@?W2Q M4RPYTW@CJV^\-.NI-_:@Q"7;5N9>[C]A&X\C6,A*NR_LF[V#T(-BJXVL6V-B M4'/1M.RI/8<#@_$I@[@UB!WOQI%C>H;Z8!(8\V?U!T:(N&M3X!&H& M7Z0P:PV_B!++M_8!,>QHQB\T%W$OX -NKB )?8C#..G!2[JP$X>7G,"[QP+Y MSH4'?\QS;13)X\]C@38X@^,X]LI%PKQ#?" $JKP3I'Y7+[&['L6[>YMY_X MH+=@E7//#.2XXD)8[G1<&U1RN7RQZWG27@!Y_%P= 'S\B^ZO?1\&3#2'1X^<6TLO==#.^7B M?$@X!Z&A*$\'U?5[%#?L%#?L5=Q#\S8[P16%W K*\>M=@?P9YG3(JV.*ZP7^ M:<7I5\G1B]TR4&\8,,L "F9P)8GJ?V5V1#,W6Z5L(I+H,@WAECUK2*/+K.UF M4=,R>\@[LGN4AA3NNDF[UDSE;4;F1XB=0>J/DZ'5EY\2]!F0.L]@'+N943:P M28K\-,[@EJP:@I'?J/C_(1B/_7&66A[^:#"RO%(KH%%F.29^&(YM&_E9.#BJ MI>"@S-2H5JZ8:G"NFHK3S7;U>MZ4J=?M3;'_PA1E44.%2S(-KT:D'M44T&9@ MY,85K5P:*H&NNZ9_#E1V ZTOI30O ^N@^XN9_0M02P,$% @ B(%C5T-J MG)%! @ TP0 !D !X;"]W;W)K&UL?53;CM,P M$/T5*T@(I%63IMT%2A*I%U;PL%!M!3P@'IQDDECKV,'C- M?C^U<*%+;E\0S MGG/FS&0F42?5$U8 FCS77&#L55HW*]_'K(*:XDPV(,Q-(55-M3%5Z6.C@.8. M5',_#(([OZ9,>$GD?'N51++5G G8*X)M75/U>P-<=K$W]T;'(RLK;1U^$C6T MA /HK\U>&>X$5 M!!PR;1FH>1UA"YQ;(B/CU\#I32DM\/0\LM^[VDTM*4782OZ=Y;J*O;<>R:&@ M+=>/LOL(0SVWEB^3'-V3=$-LX)&L12WK 6P4U$ST;_H\].$$$(87 .$ ")WN M/I%3N:.:)I&2'5$VVK#9@RO5H8TX)NQ'.6AE;IG!Z60'F"G6N [)@FQ:- &( MY-4.-&4<7T>^-FELL)\-E)N>,KQ ^8X\2*$K)!]$#OG_>-_(FS2&H\9->)7P M ,V,+((;$@;A@B"49BCT%=[%5/O"\2XN\'Y1)17L#[7%WY"M%"@YRVD_+2(G M>P5H,M&Q.?=,4)$QRLG!.,&J0/)CG:)69KA^GNM4+V!Y7H!=N!4V-(/8:VPN M=00O>?EB?A>\OU+>8T]^=S6*2@K7$$CE:8IA[%[>$YL3W?KZ.PR'Y,P M\H^G"OR30:M!E6Z=D&2R%;J?NRZ']1_X?VZ/U!5,H&$0V&@P>R-R:OZ M%>H-+1LWMJG49@G-'%F6,@"3FLP#($2;M]&/9!M1E;J"Z>)"?ML!\_259, MDZ(8>S[^TMCR>QZ)/-0I7Y&:/N?%EW(E1.5\39.LO!RMJFI],1Z7\Y5(H_)] MOA99_!#5I_5=47\;[RB+.!59&>>9 M4XC'R]$5NN"4- &MXO=8/)=[GYVF*9_S_$OSY1(W M(DD:4GT=?W?0T>Z<3>#^YQ?ZSVWCZ\9\CDIQDR=_Q(MJ=3D*1\Y"/$:;I+K/ MGW\178.\AC?/D[+]UWGNM.[(F6_**D^[X/H*TCC;_HV^=AVQ%U!SS &X"\!Z M !T((%T .?0,M N@AY[!ZP+:IH^W;6\[CD55-)L6^;-3-.J:UGQH>[^-KOLK MSIJ!\E 5]:]Q'5?-[L63R#;"N1?S?)G%;?)^=%A<1LME(991>R!_=%YT;YFH MHC@IW]6J3P_,>?OFG?/&B3/GXRK?E%&V**?CJKZNACZ>=]=PO;T&/' -Q+G- MLVI5.CQ;B(4AGMGC)Y;X<=T?NT[!+YURC:W ![%^[Q#W!P>[F!BNY^;P<&QJ MSFEGY__[[$IGD-T((2V/#/"&Q\*?O]92YT,ETO(O4]:W7&KF-A7PHEQ'_ONM\_4Q'P(9,#"6.0, X$4Y(3[)(3 MG%@$MO'>_IV+@U K @91B+6[F_5%R TF&HH;5!CY@;D$A+MFAM9F\EM^96J< M->K8$08)8Y P#@13NGZRZ_K)F6[_"61R(&$,$L:!8$IRD"OG\.Z)!: #[-^1 M!$V05@$,*F\2:I,%9E AZA-MML"-LM =F >@/<."[#.!NZL;8Q.M8<<.-5 : M Z5Q*)J: "P3@,]4##HP5(H@:0R4QJ%H:HJD94-6TW%(02#]NS-T]2F!086) M[R.](IA@R*-Z1>C+0H0I&:@(T@,ANPFZ*_+%9EZ]M-?87"OAZ)$'26.@- Y% M4W,A;1KRSE4<0&T<*(V!TC@434V1M'+(:D8.*0Y^?QY )IY>'/HJ'+I4=PPF M63T/"/3BT)=-" G\@>(@O1&RFZ/[N@>C8KYRHFSA+.I&)_DZ%9F]6EB11P]% M2!H#I7$HFIHA0>*YJ >KZ0&D,E,:A:&J*I/-#5N]R2+68]+U%J#\6O#&H M?(I#O5CT52@, D\O%@89#2[0"89 AUPT".E AI+/"=F=EJ!#.OXYM=<(./'HD@JZ# M@=(X%$U-C;2!F)ZK6("Z0U : Z5Q*)J:(ND.L7T5[X!BX1VR5&%0$5]_WL , MJC#T];F$2>6AH4(A71:VNRQSH1A:P[##CAZ!H.MDH#0.15/3(NT@#LY5)$!- M(2B-@=(X%$U-D32%V+[.=T"1"/N/%'Q,]2+15Y&0Z,\N#2KDTE!_=FF2(1<- M+&EB::^PW5X-S"<&UCCLL*/'(.AZ&BB-0]'4+4_2"!+W3&6"@'I#4!H#I7$H MFIHBZ0V)?1WP]3+1 5Y9XS"H3&L<1EA_C<,@LZQQ$&FSB-UF_98_B<2YCO-J M)8IH+395/#BJ1OT1ID&" MD*\O<9A4$Z(_P#2HB.\-32.DMR)V;S54)X:>2]AQ1P] T&4V4!J'HJF)D3Z0 MG&N')0'UA* T!DKC4#3U30OI">FINRRI8?]D;S9A$&'DZ>LQ8OM: M[_9+E:_;]U8_YU65I^W'E8@6HF@$]>^/>5Z]?&E.L'NY>O8?4$L#!!0 ( M (B!8U?-&XI0D@( ! ' 9 >&PO=V]R:W-H965TT[..<;7Z5:J1UT"&/)4<:''7FE,/?)]G9=047TI:Q#X9BE5 M10U.U%,P+TB>EU55/V^!2ZW8R_T MGA=F;%4:N^!G:4U7, ?S4-\KG/D=2\$J$)I)010LQ]Y-.)HDMMX5?&.PU3MC M8ITLI'RTD\_%V NL(."0&\M \;&!"7!NB5#&KY;3ZSYI@;OC9_9/SCMZ65 - M$\F_L\*48^^#1PI8TC4W,[F]@];/T/+EDFOW2[9M;>"1?*V-K%HP*JB8:)[T MJ0( M#QT\>@GW,8LND*@+)')\\3\"62I9=3GLQ?#C9J'=^L\^NPW_H)_?GLJ1KFD. M8P^/G0:U 2][^R9,@H]]YO\3V8LHXBZ*^!1[UKFG6H/IW=J&('$$MF%LLO Z M3E)_L^OAL"@*P[]%+[0-.FV#D]H>Q()Q#@5VDAS8ABXX] IL6(8[WQXF2;@G M\+#H*C@F<-@)'+XNO%SJ_NR&!U\-]G0=5H37_:J23E7R.E6<40P0SSOHD6U[ MH)0+T_WY^]0F?3M]L-6'57&0!/NB_9U^9>^*+U2MF-"$PQ)QP>456E9-_VTF M1M:NA2VDP1/HAB5>6:!L ;Y?2FF>)[8K=I=@]@=02P,$% @ B(%C5PWK MM;;Z @ S0H !D !X;"]W;W)K&ULK59;;]HP M%/XK5C9-G<2:$"Y=&40J-ZV3.E6@;@_3'DQR(%:=.+,-M/]^QT[(H$M3NL$# ML8_]?>=J^_2W0MZK&$"3AX2G:N#$6F<]UU5A# E5YR*#%%>60B94XU2N7)5) MH)$%)=SU/:_K)I2E3M"WLEL9],5:>&",WX57 ZI4H#W!_OV*?6=_1E016,!/_.(AT/ MG(\.B6!)UUS/Q/8S%/Y8 T/!E?TGVWSO1=T"T#[6I$X!Z!RKH5L NC;V>;!LI,=4TZ OQ99( MLQO9S,"FRZ(QP"PUA377$E<9XG0P@PVD:R S",4J93;;'\A7*B4U*2=G8]"4 MI7?S,3E[^[[O:E1LX&Y8*!GF2OQGE+3(C4AUK,@DC2"JP$_J\9!<= M+KWV=UX/_5K".63GI.4UB._YK0I[1O7P+^NT%CX^7KM?%8W_,W[ZS]H/8MDJ M*ZAE^5HO5-!2BH2,,$\2;PNL8AV3D:U?D.3'U4)9^<^JXLGYV]7\YF;MJ8R& M,'#PZE0@-^ $[]XTN]ZGJLR=DFQ\2K+)*!L96=5(:Y5_MHSU?G+>?_2,[_#((U/J71R2K+IBZ-W@<6.I(AR6J,H[ MOT#'9-X\Y1,M,OO8+X3&@K+#&/M-D&8#KB^%T+N)45!VL,%O4$L#!!0 ( M (B!8U=B2N1NJ , /X, 9 >&PO=V]R:W-H965T @6DA7!J/YRTVKUK/YMD(-8E=FH;N/;7=YR$ M%)(L7?7X K'SS#.>FR2\JXM9S77D!_J9XDCNR.)6,E<,4$)Q)V"^O1G6UB@Z\!OS,X MJ8MG8B+9"O'5#'[+%I9C%@0%I-HP4/P[PAJ*PA#A,OYL.:W.I3&\?#ZS?ZQC MQUBV5,%:%'^P3.<+*[9(!CMZ*/2S./T*;3RAX4M%H>I?QUXA*J MZ7(NQ8E(@T8V\U!GO[;&?#%N=/*B);YE:*>7SW $?@#R#*G8ERXYUSL_)N$KY ]4!\YR?B M.9X_LI[UV\V]L7"^S_OF?WN_2H;?"<6O^?Q7^!Y+<>!:88W3XH#Y-<5.,=\2 MMSHI&-VR M4#BE!-= YD"WO&N9&,V-435:VPB*X^DU)AEBIJ[K7H,V(]ZB:="! MKL(.N[##FZI=YY3OP:CVOS08WE.#]R1+[DFVN1/953&BKAC130WVB@%*,[SI M\2C!0X0KVG0.E60H45H4(FW>"5.UV]HUC&@G9%O@TU7JD:@GS?B7NH9 2%UUGO#-D,4:X3N1"YYDTDOT"'(#X*)TPMTB K\,/9Z@0Y1KA-[;E\9]D5#5X+!<=!]\BS_ 5!+ P04 M" "(@6-75S)H:V,% W*P &0 'AL+W=OE(!'WY2$Q(\?V[_PS_^IAVN1?Y,+SA5Z3)-,CIR%4LMKUY73 M!4^9O!)+GNDK,Y&G3.G3?.[*9"+6(\=WGKZXB^<+57SACH=+-N<3KKXL;W-]YM91HCCEF8Q% MAG(^&SGO_>L/0:]H4-[Q9\S7D1%/^%05(9C^>. ? M>9(4D70>_U1!G;K/HN'V\5/T7\K!Z\'<,\D_BN2O.%*+D=-W4,1G;)6H.['^ ME5<#"HIX4Y'(\B]:5_=Z#IJNI!)IU5AGD,;9YI,]5A.QU0#CA@:X:H#+O#<= ME5G>,,7&PURL45[!L(<)^C*Y06_?O'L>QM4CJ8>#Z^'@,BYIB'L32S:? MY[Q*6,S0TP#__DW?BCXIGLJO^_+=Q*7[XQ;/QK5G6]33O2_+39RPC%,\< ]C?T!(.'0?]G1/Z^XIV'TU11=Z MKHKG.,[F#0!W7L/[+TF M0-4$R&<$+'D>BVA?.G!@@E*1J84$9JA?Y]@_,]!4T]P -)A:1S0&]< 'EH > M6,C:]XP(>2="N@KTC.E@X.UGVM]20=\6U2V1??2=LQR:):-M/BA"_P/603/6 M<&Y="3$*Z1-+9/N@]G9-W&BK#XOK 6C377&G360;B?-!+3J*;#AR.]E&T7Q8 MTNR3'0)D@[EU!<3HJ=^S138HJ%T3-R+KPRI[ -G]';(#KXELHW4^*$I'D=U! M[A!D3XS2X1:ERT6TFBIM:,LUWNM$P @=EQ4;*<2^+0L%*F'7Q+>L'RR/+^>Q M"O3LE[8?]AK>C+$1*=SBXYXO+OH7G=5:P=EV70^C?)C: LF&*<1&,C$L; > M%.R U*>TB2,CAQB6PR-^V5HBO\!D8:-<&'9LY\ =,%YPMEVI,7*(^[9PMV$9 ML=%1#.OH ;@/#C!?Q&@B@37Q"-Q;(K>^HA(CBP3V<>> ';!C<+9=ZY5&:XFM M.BNQ4FC=JK2>K-2ZI];:9,>($44"V\%C6(;M"(440"&\1C6.\@B9!!(T8-":R&=SH08Z-CADQW6F1C^I9PE0:L-J4J.IM$537PQH%6@;T#!L )0: M%:-M!55XK<]MX.#TNRZ/T4IJJ^9*;3A/NO7_S%/57.ENS;69*Z.?U%K-M27R M"_P;-<)&VZJNKP!_P-#!Z7>ER,@GM568I3:<*#6Z2T]5F*6[A=DF^(V 4FME MV9;(K6^X@9', #:&KP)]P-[!Z7?=%F&$.;!5 PYL^-+ *'IPJAIPL%L#;D _ M,((9P.;R"/1;(K>C;\0Q:-OM\PK0!]P>G'Y7@K:V!%G;$V3#I@9&S8-3;0L* M=O<%-:%OQ#*PMBT(CGR UW.WMD$66TI_9_D\SB1*^$Q']JYZ>H'RS2[-S8D2 MRW)GY+U02J3EX8*SB.?%#?KZ3 CU=%)LMJSWRH[_ U!+ P04 " "(@6-7 MCZ&BL?X" #\"0 &0 'AL+W=O9 2CTDE,F1TZF5#%P79EDD&-YS@M@>F;.18Z5[HJ% M*PL!.+6@G+J^Y_7='!/FA$,[-A'AD)>*$@83@629YUB\7@/EJY'3<=8##V21 M*3/@AL,"+V *ZFLQ$;KG-BPIR8%)PAD2,!\Y5YU!W#/K[8)O!%9RXQ^92&:< M/YG.33IR/.,04$B48<"Z6<(8*#5$VHWGFM-I3!K@YO^:_;.-7<=@ M:)YV@%\#_+> [@Y 4 ."0RUT:T#W4 N]&F!#=ZO8;>(BK' X%'R%A%FMVPV8.W,@"YS R-&7H@2Q!"=\_Z[3]SZUY?Z89-$QR>(C MD6VIU&U4ZEKV8(=*5UJ!U!Q=H\,4DE(01;1L\4M]TN>"YV_/>HP%(VRQ><9_ MW&IB=*,@ES_;I.P>4\ICDD7')(N/1+8E9:^1LK?WP#URA>GZ9H6U?E@BK#4^ M:T0^J5:A9 Z:F6(:7EQ?Z+EEN9O_/1?V^U]U>%!W"%/^%J&PO=V]R:W-H965T[5=7L[+Q8[0L73A)4 MP*GM)-/1?OBU"<$Y\>D)=/YHI#:A/K\#P<]P3![LTX>\^%+>"%$9?ZR6Z_)M M[Z:J;D_Z_7)V(U99^6M^*];UOUSEQ2JKZF^+ZWYY6XALOAFT6O:MP6#47V6+ M=>_L='/;Q^+L-+^KEHNU^%@8Y=UJE17?WHEE_O"V9_:>;OBTN+ZIFAOZ9Z>W MV;6X%-5OMQ^+^KO^3IDO5F)=+O*U48BKM[US\R0=#IH!FRW^O1 /Y;.OC>:A M?,[S+\TWT?QM;]#<([$4LZHALOJO>W$AELM&JN_'URW:V\W9#'S^]9/N;QY\ M_6 ^9Z6XR)>_+^;5S=O>I&?,Q55VMZP^Y0^AV#Z@8>/-\F6Y^=-X>-QV;/>, MV5U9Y:OMX/H>K!;KQ[^S/[8_B&<#:D<]P-H.L%X.<+XSP-X.L/<=X&P'./L. M&&X'#/=]#*/M@-&^,XRW \;[SC#9#ICL.\-T.V"Z[P!S\/3,#?8>LGNR.\_V M=X<\/=WFYOGN/^Y8F[W2S:KL[+3('XRBV;[VFB\VN_9F?+TS+M9-"B^KHO[7 M13VN.HO6]Z*LZEA5I;%8&Q_R]9OW6?%%5-GGI3 NQ>RN6%0+41IOC ]9461- M9HR?W/K?%\ORY_K6WRY=XZ>__WS:K^I[TYC]V7;F=X\S6]^9V33>Y^OJIC2\ M]5S,%>-]_7C[M?&A?OQ4,[Y?_Q1W/TKKZ4?YSM*"]<_M5\,V?S&L@64K[L^% M?OBEN*V'#S;#3<5P5S_\_+;0#O?TP^.[]6[X0/5D['_G58\]V'^XI7HJ_]KL MT5^;/=8/=\5L][RKAB?[_^15P]/]]SI+LQ?;N_\AV!O/_KZG2/]_TGHS(ZK$ MJORO*NJ/IJ,VFY7$27F;S<3;7KU4*$5Q+WIG__B;.1K\4Y43$G-)S",QG\0" M$@M)+"*QF,02$DLA3,JLL\NLH]///F;?'E_!J[Q>UGZ]6Q3"R*L;4=0OZ;N7 M=U5LM>RAL24QE\0\$O-)+""Q\!$;;;#FZ.O^S#2GYF!0OY[?/T]D=[NA/1AT MMHO).Y>06 IA4MB&N[ -M6'[5UYE2V-=+Y17[4NEJ$-7?3/*W2NF*FU:]]"T MD9A+8AZ)^UA7S "8FE$";E8;S+PUB;AVAUFRV*9KEFY%?/%F_- M6S,_\HJCG>W0])"82V(>B?GCSCYL3Q6KHX"<-%1,.AEW8Q-UMWL9+/)N)226 M0I@4K,DN6!-ML'Y;%R);+OX4F[,Z[77 M,K_=O,ALUV&J%&C%0U- 8BZ)>23FDUA 8B&)1206DUA"8BF$28DU!^UOZ09' M>%=^BT*Q1347U3Q4\U$M0+40U2)4BU$M0;64TN0 /_LUN_D7W^G0 P>'E=1< M5/-0S=]J\K&3XLV)0+'AR+$FW;<[%!N:D['J<&R[I?3VI#/9'"^^6(JBCSE! MM932Y&A8;30L;31*\?5WL5P:_S-^9&6JQP^.#:FYJ.:AFH]J :J%J!:A6HQJ M":JEE"8'N6V.F,>HCIAH=P357%3S4,U'M0#50E2+4"U&M0354DJ3 ]S62$Q] MCV2/12K:&$$U%]4\5//-;N=BU%TE!NBDH6+2>AVK6,62L\:HEJ!:2FEROMKF MB*FOCESDJU6^-BZK?/:E7NYN%[[*G*%=$51S4U -5"5(M0+4:U!-522I-3VG:!S.DQ5K=H'PC57%3S4,U'M0#50E2+4"U& MM0354DJ3/W/>-H,L;7'A[,,KM7#C]JZHE[MEO?3]J5[[EIO%L/+C^OJ)#@TU MJKFHYJ&:CVH!JH6H%J%:C&H)JJ5;3?XDB_PI #FO;1'(VJ<(]",?YM##!^<3 M+0BAFH=JOM4MZ5CUX6CWMR_HM.&^TT;HM+'5+2\-!XK/KR3HM*GBT;Z<5@Y, M6P^R]/4@^C-1^ND.CA%:&$(U#]7\K2;U[%0[5H!.&Z):A&HQJB6HEE*:G-JV M"V1IJPIGY\6?8IXI\X?V?5#-134/U7Q4"U M1+4(U6)42U MI30YI&W?QW*. M\.:/A7: 4,U%-0_5?%0+4"U$M0C58E1+4"VE-#G ;:'(.M:Y:/3PP2%&"T:H MYJ&:;W5/#>,XCF(1C%:'K.ZI852S1NBLL6)6TYIT:XL).FU*:7*FVKZ/I3\G M#7Z\B3:!4,U%-0_5?*M[>AKE>3C064-4BU M1K4$U5)*DT/;=GRL5SH^HFB6 MKN?&QT)EC:)<(U5Q4\U#-1[4 U4)4BU M1K4$U5)*DP/<=HDL_8F% M/MRM/HNB634_M@R,0LS$XO[[I=ORU4H"VC-"-1?5/%3S42U M7"K2;]:;\Y/ M.36=ET>S:(<(U1)42RE-/N-_VR&R]1VB[>KYXHVI6#]K>KQZ]M!XHIJ+:AZJ M^:@6H%J(:A&JQ:B6H%I*:7*$VUJ1;1YA\6RCE2)4NQZN?Z.!0HP4G5/-0S;>[!:?)Q!J.7KS?C$X:[C=I MA$X:HUJ":BFER3%\=O4K?6]INQ1^]\92+(6_7VK2JP=GCKT"%GL)+/8:6.Q% ML-BK8+&7P6*O@\5>"(N]$M8Q2DUV6VJRCU%JLM%2$ZJYJ.:AFH]J :J%J!:A M6HQJ":JEE"8'N"TUV?I2$[@21DM.J.:BFH=JOMTM.5F#MA)ECX^Q#D;[4*CFHIJ':CZJ!:@6HEJ$:C&J):B64IH< MX+8/9>M/H 2N@]&.%*JYJ.:AFF]W+S'F.*8U>;D,1LM/^TT:H9/&J):@6DII M<@S;5I.M;S7]^&=L]/#!L4/;2ZCFH9J_U:1/NZB:_^BLX9ZS1NBL,:HEJ)92 MFA0\IVTE.?I6TOOS2)4J_:A#4X5J+JIYJ.:C6H!J(:I%J!:C6H)J*:7)"6U+ M1\XQ2D<.6CI"-1?5/%3S42U M1#5(E2+42U!M932Y "WI2-'7SIZ=EGLYE+8 M1M[YB*M^A:OG#XXR6C5"-0_5?%0+MIITIC'%RC5$9XU0+4:U!-522I-#VE:2 M''TEZ?$#K$_%I)>U)&4LT382JKFHYJ&:CVH!JH6H%J%:C&H)JJ64)H>W;2,Y MQV@C.6@;"=5<5/-0S4>U -5"5(M0+4:U!-522I,#W+:1G%?:2"\_U+KW;UV< M;I]E.AD.G:&\++M0;6=.)XYERQNZ^GMZ3HFT4?LV_-*95*H\J-;/;U;E$((Z]NZIRUYUM2'W!V M3PHT41SJ7"BV&ZM.5NOJ[^C!F4)+0:@6H%J(:A&JQ:B6H%I*:7+PVE*0HS]/ MDG0LV3E;DC)Q:"$(U5Q4\U#-1[4 U4)4BU M1K4$U5)*D\/;%H*<8YP@R4'+ M/ZCFHIJ':CZJ!:@6HEJ$:C&J):B64IHPQ>O[P1HG*S*CL[78GB M6ER(Y;(T9OG=NFHF>7:K41]<-A<@/3FW>OW.[>_,$\]4W.Z;)X'J]M \B3:W M]]MISTYOLVM1+XNO%^O26(JK^BX,?AW7+S#%XOIF]TV5W[[MF3WC\N++YF&>_1]02P,$% @ B(%C5W%"^5*6 M P =Q0 !D !X;"]W;W)K&ULM9AK;]HP%(;_ MBI554R>M39P+A0XBM5C3*NU2C5T^3/O@P@&L)C&U#:S[];-#&A)(H[8S7R!. MSOOF^,$G.;B_YN)6S@$4^I,FF1PX1TWI2QSXGY^[EK$?;Y4"N!@YV'$U_9 M;*[,"3?N+^@,1J"^+ZZ%'KFERX2ED$G&,R1@.G N\#G!D1'D$3\8K&7E&)FI MW'!^:P97DX'CF8P@@;$R%E1_K6 (26*<=!YWA:E3WM,(J\O)W% ) M0Y[\9!,U'SA=!TU@2I>)^LK7'Z"84)[@F",E$,^;0:?4RT TOD&ZW[/B+H^.@-.C(W^#;G2ZFE MLN\JG;Y)PAT7J5YN4O4?274$BU,4>&^1[_E!@WS8+B^ MG=S7/")7,>YZ6*^N5174?I3O1=BK1Y'6'%](("P)A*T$/EU<-4VO5?3AO?J%IZ8><,[Y1>0U30\W>B M2&N.+R1P5A(X:R4@X>ZG;EN:IM@J?.Z2L6E&+)G5@'5+8-T#E%_7)DN;9L22 M68UEKV39.U#Y]?8*RX]ZW9WJVP^*/&_WO=?;>SO6@FKSPMZV+_5:9W8A_L*$ M-G:)K<+G+@6K;L266QU:I9G'!RBMPM064)MNQ)9;'>BV2<>M?>M_U%=A7*V= M, QWZJLA"/O=WDZ!M>?X4@;;YAJW=]=?U!R$_N]6^Z/X(B26.N2"G4TW8LNM MSGC;ON/P$(5KM;^WZD9LN=6!;EM\W-KU_D_A1GOOLV#WG3=\2A!I3_&Y"-S* M)H_9DM-+9L8RB1*8:GOO]$S?36QVN38#Q1?YOL\-5XJG^>$"@4+MV 0 "HE 9 >&PO=V]R M:W-H965T\MA<$JD-6'?2 M55=MM7NOG> DJ( YVR2[TGWXLX%"Z%*'[([4OFC 87Y_/#,>DHGG1\:?Q9Y2 MB;XF<2H6UE[*;&;;8K.G"1$W+*.I>F?+>$*D.N4[6V2.1)XDA'^[IS$[+BS7>AGX%.WV4@_8RWE&=O2)RL_9 M(U=G=DT)HX2F(F(IXG2[L.[<&?8<;5!<\26B1W%RC/14UHP]ZY,_PX7EZ#NB M,=U(C2#JY4!7-(XU2=W'OQ74JC6UX>GQ"QT7DU>361-!5RS^)PKE?F%-+132 M+DV M\"H#[[7!\ V#064PZ*LPK R&?15&E<&HK\&X,A@7OB^=57C:)Y(LYYP=$==7 M*YH^*,)56"L'1ZG.K"?)U;N1LI-+3"*.OI XI^B!$I%SJM)&"O3!IY)$L?B( MKM'G)Q]]^/7CW)9*4)O9FPI^7\*]-^ #],!2N1(.W;J>L18AMT39*2;J)2(RB5$B>ERF4E/D4(B+15J?9H4@S74Y43=KD MG$?I3I>%2'2E5JD^[%;7!787V- ZOU1/O6I"87J&42901+G6:A)'(F!I&.\[R MK"OFI<*X4-#/Q,-R[.B_N7TXC:;Q1BZ-9C_- %(3 \%:<1K5<1H9X[1BZ8%R M&:UCBGRZEEUQ,!(N77N0,!\2%D#",!"L%=-Q'=/QN];B,60^0,)\2%@ "<- ML%8^3.I\F)C7N IU)%',5$WN#&AI/CHI>J]K[.2[LOCJ"O\L(SC+P,9I_*"3 MIK63ID8G_2WWE%_+/4FO)4TRQO4*BI),+0^]: S>FY[UWO2L]\XR@K,,;)S? M#WKOMO;>K=%[ZI,Y_88>"']67W]QGH:=GC(R+BT3@7-[JMMVN- M5Y T'Y06@-(P%*T=YJ:)XKYO%\4%;:. TGQ06@!*PU"T=EHTO137W$SI66Z' MOF3 MN._;*'%!.R6@-!^4%H#2,!2MG19-N\0U]TMZEMOS71.SSL41.]]B 17$1L&V M;YLNBVMNLQ25M90<]"^O0*V-*BJ0-!^4%H#2,!2M'>NF)^3>OF]Y!>TG@=)\ M4%H 2L-0M/:/[DU/R3,V)WJ6UPIB:'BNS#J71NR\8 JB(V"I6_MDZT<">6[ M8M.-0!N6I[+\;;X>K3?VW!7;65Z-W[NSE=LQ[KNSH-RVT^#+742J)N_46D4Q MW2HIYV:B'@.\W)A3GDB6%1M)UDQ*EA2'>TI"RO4%ZOTM8_+E1 O4VZ.6_P-0 M2P,$% @ B(%C5Z7QH&ULM5==3]LP%/TK5H8FD#;B?+>LC00$-*0A(3K8P[0'D]XV&4D< M;*>%?S\["5E;TJA >&GLY)R3>TYU'7NTI.R>1P "/:9)QL=:)$1^I.L\C" E M_)#FD,DG,\I2(N24S76>,R#3DI0FNHFQJZ6.TGLUN9B.-:PJ@@1"H22(O"S@%))$* ".*/ M&%TBIM!230W*,$NVM!]GZG^?"":?QI(G_!.2D"P$-%$*' 4@2)QP]!6=$AXA MDDVKP=E#$2]( IG$[->@ XFZF01H?^\ [:$X0S\C6G!)X2-=R-+4"_2P+N.D M*L/<4L8$\D-DX2_(Q*;50C_MI@<02KI1TLT6>K#[VS?HNLRS"=5L0C5+/6N+ MWO;L?O^04'0A(.5_VE*J=.UV7;4&'/&_I6= #)/RD5;;!7=+>EJI5OXGNUXWDA?K.;Q$F48UG!@ MK\."%A@>N(-A UOS8#<>[$X/ES2#)W1)V+UDSSS[%@I[$UO)TFSS=]_5317=66L!UG(&ST4\O49YGX>%&.W66 M\D:C7F/4ZS1ZQD4L]P;2Z3F)&;HE20%M?KV=_+Y$M?GMK.B-?@>-WT&G7]4? M;?XZ6:]M@S[%@I[$UM(:-FD-/VA9&?:99Y]B04]B:WD:^/]F$K]O8:GYJQ_7 M(<9XH]%:4);K;<*"[F)>:U9?V42K(X_\5,_CC*,$9E(>'WJR\5EUBJ@F@N;E MOOJ."KE++X>1/'D!4P#Y?$:I>)ZHK7ISEO/_ 5!+ P04 " "(@6-7;9Z# MO9\" !X!P &0 'AL+W=OJDHDW.O5*J^]'V9EU!A><9K8/K-FHL**]T5&U_6 G!A M117UHR"8^14FS,M2.W8KLI1O%24,;@62VZK"XO4**&_F7NB]#=R13:G,@)^E M-=[ "M1#?2MTS^]="E(!DX0S)& ]][Z%EXO$U-N"GP0:.6@CD^2)\V?3N2GF M7F" @$*NC /6CQTL@%)CI#%^=9Y>/Z41#MMO[M)V-,?O4M8XA[FGSY<$L0,O^_PI MG 5?77'_D]F[\'$?/AYSS^YPH_>4 D$P=29MY3,K-_?"+@N#\]3?#0.,U[SC MFO1@W22M0;3P:S!'M=AQ47HQIKV6--1K&O"B#YQ!=IP M[M[ZTX,YH_ BV0,[+ K/X\"--NO19J-H]UQA.CR[+KK9(5T<3/?H'$5!=.&F M2WJZ9)3NS\'J]K 3+SG<2)-@_U_]2U&+YP_N1?--^H'%AC")**RU+#A+=#S1 MWO-M1_':7I5/7.F+US9+_6D$80KT^S7GZJUC;M_^8YO]!E!+ P04 " "( M@6-7L*^V'$X& "!,P &0 'AL+W=OT#V]Z).3Y_9WG;^SX:7RS$_*S6G.NT=J5AD2/+E M;>^=?TWQ) \HKO@SYCMU\AGEM_(DQ.?\X/WBMN?E+>()G^L43,///U\H-/BYLW-/#'%9R+Y*U[H]6UOW$,+OF3;1'\4N]]X>4/# MG#<7B2K^1;OR6J^'YENE15H&FQ:D<;;_R[Z6B3@),!Q[ "X#\'G X(6 H P( MVBH,RH!!6X5A&3!L&Q"6 6&1^WVRBDQ'3+/IC10[)/.K#2W_4-A51)L$QUG> MLQZU--_&)DY/[UC"LCE'CSE!H8AK%B<*7:$':7JOU-\0RQ:(?-G&&].?]!N4 MF=[^NKSL%W/=I\<(O7[U"WJ%X@S]L19;90+435^;QN42_7G9D+M]0_ +#0G0 M!Y'IM4(D6_"%)3YRQT\<\7V3E&-F\"$S=]@)?.2;MRCPWB#LX<#2GEG[<&R[ MG1]3)S^F3MWA$9^;<-\67LME<.QE0<$+7N =.M,;]&"ZFZ[W*?3WO;D/;"S\Z'W6FW8G-_VS-BJN'SFO>G//_FA]ZO--4A8! DCD# *!*NY M/3BZ/7#1I[6A@Q]LMCF[YX0%)Y\#GZ?#01!.;OK/IY8YU;I:UDJ20$K2IF2( M!\'P*%E+\O"8Y*$SR?=ID#K^MSAA MR_Y>8'C2KJM@XHU'9^EWMJ-K^MMI$DA-:M4<8]]N0'@T(/R.7EY,D+9DAXU& M^$,\QF>Y=DIVS74K20(I29N2&(?^P)[IT3'3(V>FWRG%36+7/%E-AH6>=Y9\9RNZ)K^%(($4I$"PFD/C MHT/C_W<(Q>F&Q;*8TN=K)E?<^A@XMO3*AA5.N:Y60,(()(P"P6J>38Z>39R> M12?3AT7?FR_>J MI9+GS-@CR]",R438ES?.X*Z/J:"T")1&0&D4BE8W]63]ZU]P:5+"H4R'I$6@ M- )*HU"TNNFX,AT[?\GOJYG*/#TDG"F^%HFMZG!7DFJCUZ@Q7[GU.CO71I. M:E(H6MV1JD#@.U>DG9X@2M1I>D862T!7^JTT":@FA:+5+:E6\;Y[&7_/GH1D M6LAO[D6\&]-Y# 1=[8/2""B-0M'J]E;U W]XR8D/#[*@E8LVHD24%%J$YV$HXF]:.%750O_\F4+OUE& MP'YSJ@.M7+32)*":%(I6MZHJ7_CN^L7]X0DP?P*1XIGGOPK[LP?D^G\&2HM M:0241J%H=8.K6H<_N>1D!U1W*$V'I$6@- )*HU"T^O_?5O4:[*[7M)_L2E"M MV.6/AN?CK%NOJW/M1 FH*+6)AF$0V"<[7)51L'/%/IV)=+/57%9Y+K*NQ%+O MF.36I(/63D!I$2B-@-(H%*WN=%4[P?B"0RF&+%K,0&D1*(V TB@4K6YZ59[! M[O),AZ&T62@)O,GYLL$MU]FX-IH$5)-:-8,7%@VX*KI@=]'E]^4RGO.S472Y ME5FLMR\,HZ#E%U!:!$HCH#0*1:L;795?\"7++QBT_ )*BT!I!)1&H6AUTZOR M"X8JOV#+RQM!V!A&0:LOK30)J":U:@Y>>#<*5[47[*Z]S$2FM-SNWUZ.,V06 M]2O3&NN2WHWJ_%L"K<6 T@@HC4+1ZA97-1L\ON0 "EK' :5%H#0"2J-0M+KI M51T'NU]:Z3" 6EY-&8W]\P$4M!;32I. :E*K9N,YM'^R0R#E^9;SD7]-]KM!*OQ^<\H')E=QIE#"ET;*>SLR M8[W<[_?8'VBQ*?8G/ FM15I\7'.VX#*_P'R_%$(?#G*!XZZ;Z7]02P,$% M @ B(%C5_O3MR:A @ V < !D !X;"]W;W)K&ULK55=;YLP%/TK%JNF5FH+@03:CB UZ3[Z4*EJUNUAVH,#-\&JL9GMA.[? MSS;$2Q>:=MI>P!_WG'O.-5RG#1F= M!1<55GHJEKZL!>#"@BKJAT$0^Q4FS,M2NW8KLI2O%"4,;@62JZK"XN<$*&_& MWL#;+-R19:G,@I^E-5["#-1]?2OTS'Y>#BVEBXFW %P*- MW!HCXV3.^8.97!=C+S""@$*N# /6KS5,@5)#I&7\Z#@]E]( M\<;]@_6N_8R MQQ*FG'XEA2K'WIF'"EC@%55WO/D$G9^1X'+4 8/@,(.T#X6D#4 2)KM%5F;5UAA;-4\ 8)$ZW9S,#6QJ*U&\+, M*Y)FVN\)E<$;KA3)42O6<%%#WXZ7[\^1Z\KWT[\^'&_"3<2SB# M^A1%P3$*@S!"][,K='APU*?KGVF>R(O>A\[SWUP3E>Q4KD?4"T&M*'^K>58@EO9.D2CG*Z;:/NI6W;5U:;NU_SN\O?-N ML-#?K$04%AH:G":Z'J*]1]J)XK5MQ7.N=&.WPU)?O2!,@-Y?<*XV$Y/ 7>;9 M+U!+ P04 " "(@6-7ZP^&<*$" 7!P &0 'AL+W=OZZ=-'1M5@V)E\8?]QR?<]U[/=X(^: * $T>2UZIB5-H75^ZKLH* M**DZ$S54N+,4LJ0:IW+EJEH"S2VHY&[@>8E;4E8YZ=BNWT0[)& M:5%V8%10LJK]TL4-."*O(72$:1:MO_,1[/^3W/Y$]<1_V[L-C[.GVTFLIEJ!, MO5).\%X)=@'%Q'H[&[WG5X&!1&H[@/>J(\ MZI5'+U/>R*S XAY4UU+$.P<'213MJ3L,\KV+.!B6%_?RXJ/R;$T-28H'3O/" M/4F'0:/P&4%)+R@Y*NA.:+Q:84N==KGC?TM]2&IR<&T7YZ-D3^IAD!\'YZ,] ML>Y.VS)/QA&PO=V]R M:W-H965T\8?Q19 MHJNR#G@Q(BRU/5[O6LWPX0Z MLXDI6_+9A!4R)126'(DBRS!_OH64[:>.YQP*OI#-5NH"=S;)\08>0/Z1+[FZ MS5)C_:%_6'8X=%!="LJP2JQYDA):?^*DRXD2@..T"OQ+X+P7! M&4&_$O3?*P@J0?!>P: 2F*&[Y=B-<2&6>#;A;(^XKJUH^L*X;]3*+T+U#^5! MY L?ORDK4[0@F7J]R>P2? 3BKX61#ZC.QH#U6FB98JI0!]"D)BD MXJ.J(K:8@YBX4O5$\]RX:O6V;-4_TZJ'[AF56X$BFD#2U+MJ!/4P_,,P;OU. MX#SG5ZC?^PGY/;_?TI]%M_Q73)7<.RL/WY 7]-"Z-VZ11^_HO.^WR1MF].M, M^X87G.&I0?@JMJ2(04UI:7)KRZB3HE>H&Y'C&*:.6H($\!TXLQ]_\*Y[/[<9 M;!,6VH1%EF"-*((ZBL#0^^>FEYX@;=-KSCFFFS*?U3,ZK;?$SZ9XOL<\07__ MII#H3D(F_FD+,; 9HDU8:!,668(U0AS4(0XZY]/O1;8"CMBZ6N\0+N269J.1)5C#^.O:^.LW%C)O M?';UZI1>:JU-6&@3%EF"-?P?UOX/O_/J-;09HDU8:!,668(U0AS5(8Z^U>K5 M";XT'9NP..IO?V4V.N%J%$+T=GGA[=C$M=MDH+ MK=(B6[1F&B?[2^\[/T.J#MB*TB8MM$J+;-&:4?K'*/UO]22IR*>SW1N\F.Z5 M_YU]N-A_F[3(%JWI_W%;[W7OZ^_Q$\F*#-&7.4B&5H"($(5*HLC5Y((GX#$1 M8"KI(Q[$;]B2L;M6MTB);M#()]^1P,P.^,:?* L6LH+(\YZQ+ZY/KN3FO M=8_5RV/O>\PWA J4PEI)>U=#Y3,O3Y++&\ER;C1#=3G^;/_ %!+ P04 " "(@6-7G/4" "E" &0 'AL+W=O M-W=I< M1F-1Z(QRG$M0!6-$[BXP$]N)U_7V"W=TG6J[X$?CG*QQ@?H^GTLS\VN6A#+D MB@H.$E<3;]H]GXVLO3/X2G&K#L9@E2R%>+"3FV3B!38@S##6EH&8QP9GF&66 MR(3QL^+T:I<6>#C>LU\[[4;+DBBP;370Z\U'K/0,+%\L M,N7^85O9!A[$A=*"56 3 :.\?)+'*@\' ,/3# @K0/@] +W@'81#V&N*9M<,7 MF!^#/PFG5V>[Y_AZQ_A2(K$IVU,I"5^C*0\-RQT">C-J^XP^-"4G/]$]B15_3I5_3;V M:":XPKBP10YBM4))^1IR\Q!)D^YVLK /S!VL)I6MT!>J'-0J!ZV!U4652QI; MH1 +9D(%94NI26C)]][QV2MZ$P6=L\'8WQQ*:G7Z0DG#6M*P5=(U?32G-C;I MEG19N-,MB<8F+271\$!+. B"X)F85G=@*%_#4M1[_CWG9P&^)7%.N(,.5@0:=D?$NRZ983K3(75]9"FVZE!NFYCL"I34P M[U="Z/W$.JB_3*+?4$L#!!0 ( (B!8U<2>158S@, $\1 9 >&PO M=V]R:W-H965TV@23M ML !K:]3=]E#L@9:N+2*BJ)*4'0/[\2,I67(ZF0Z,%GFQ18KW\%S>RWM(3;9" M/J@40*-'GN5J&J1:%]=AJ.(4.%67HH#5L(DJ=L1SF$JF2E9 S?B+P9;=?",K"M+(1YLXSZ9!I%E!!G$ MVD)0\[>!.\@RBV1X?*M!@V9.:WCXO$?_S3EOG%E2!7+MM78T3A <:FTX+6Q83T)MYK7685S/<5O-08[,,48?1*Y3A=[G M"21/[4/#MR%-]J1OB1=P <4EZD5O$(E(SX/7:Q:AY_#ZOD78>]KEG]?<;IQK M5= 8IH'9&0KD!H+9JU_P,'KK(==OR/4=>N\8N91*Z(K0C90T7X/9(AHM=^AP MW)SN7/?-ELH$??W#0*)[#5S]T^5=_R=X-VB\&WB7?@XRMDS%"FV$9OD:L5R# MF4=W!J("&SLP6W VL^@23\)-!X-APV#H9U#*.#6KA@K)8K!$8L&Y65_ELH(N MQ0;LSF.\Y$BGAEHJLJ2+W/!_Y/ QX*U\>PCAJRVWT_%*#_D5?S!XV2HL^Y9W,_&AG[DU\( [X MA6M/3> '.TA:!\D/R>@3,-BEM(]1*T78KT5/&4E[J.BLA#7,TU)(!MWE!K=B M@[W5_FA^?MF*3A8_0SMP*QYX\-+YZ96OG9^>F'Z9TLN;A5).S7 MDV/S2R>D5KC,=)*V6 M$;^6^4].781KP"='I.Z$(*U&$:]$S#Z*_&*AJ2ZUD+O32>%'.W?-6L$AY(63 M@GBEZEP'6_TB?OTZ(RFZE.SJ^T(1'MQQ.[Y>>HK@( )D( 9 >&PO=V]R:W-H M965T MICTX< -6P6:V$YI_OVM#:#I1]J%6>TFP?<^YY]C77*:%D')K,ISJFDPE:(@TD0C MFWFP5BT:Q3%N3F6E):XRQ.E@I45X=V)\1>1,9'C8BMKM.B'7H+1DH<85&T5N M.=.*O#D'35FJWIJ0U:V:NAIUWK'(NRIS^$SDGY$IPG2CR@4<0/<:[J+\V MX1],+/Q6PA7D'=+SWA'?\WLM?+UZ4WJ6K_\$WXVD',N??.;0Y*X5;*[1J/VJ._3>MTCKU]+ZEKWWE-6$2F@ZK[E$T3'@A=%DO2?'<4NZ MM]/S@LJ(?/N$E.120Z:^-[GKOX"[0>UNT+KQI<(=%A[C,W 7>)T>5N*N(?>HSCWZHR*\*413RE;P M/Q[3N)8V_L]%.'X!=Y/:W>19BK"=I?_;(NQZ#^]H[UG*L*)Y7(?^X)PLNF?45ES+@B*6P0ZG5&>#%EV0?+@1:Y M[3UKH;&3V<<$OQU F@!&PO=V]R:W-H965T9WAIN*/-H)9,\2A.6 MR;NSP;GS3HS]HD&YQV^1?,P;CUEQ*+=I^K'8^&E^-A@5[TC&IO'OT5PMSP;' S:7=^%]K#ZD MCS_*^H""@C=+X[S\RQ[K?4<#-KO/5;JJ&^MWL(J2ZG_X=QV(1@/-:6_@U@W< M[09^1P.O;N#MVL"O&_A;#7RGHT%0-R@/?5@=>QDX'JIP4%!^4JLXNTY7^_.5AJ>"W['IZD[,PF;/K MBZN%2A5&_#[)!YS@%S1Z[?\GXN=V_NM33GNS=W MVZ)!-Y_*M6X^JGIG-U/.WGS]5@N4JS".]0FM6+X,,YD3@C143".!(F0#!+Q& C8D">3;_87$2Y =,+?4[6:;QG,7R0<8'+-F( M4F7- [;2 XYH'4LUC]!E!2(FD<2A,HFBVE:Z1T(;F,QO06!$GC M4)JH:;OE,U/9.WU+>YW/"D.B,('8>3*O-RZN7AZGT5WUU@)J 4!I D6S13,N M@+-O&\"!^@!0&H?2!(IF2VF\ (9G(5YJR=#]]I;%J@1 *4)%,W6S]@&SM&^4Q[49H#2.)0F4#1; M2F,U.&01O'O*.WXY25W2??6.,]0+0-'L.!LWP*'M #+EM08<:@Q :1Q*$RB: M_:NC,1']M8 :#5":0-%LT8S1X)[L.\]!G0DHC4-I D6SY_D:9\*CIS?LFN=H3._) MOE!_H:;1>0[5I1UG8QMXM&U YKG6@$.- BB-0VD"1;.5,8:"Y^XYF7E0!P)* MXU":0-%L*1M7+=!S&[ZP;*7IO77"7M'@/,8V\&C;@$AR M[=XL=<>BL RA-H&BV,L9.\()])SFHR0"E<2A-H&BVE,9D\.B)#5^:Y* . M I3&:YH]D#ORMI/<:S@#GG$&O-TO:+@H3Y2K=7$JY>Q-,]^+3W\-H*;U_R]YDBTT?15V0HC4-IPF\S4MR.*>>^\3Y\ MVOMX99WS>_UJE&9?*C/4<('2.)0F_.>S1KK.9>.B^/2TC!^TDBHOEHLHQ9BS M-_IAI<1;702VK4Q0AQUJCD!I'$H3-6V':VM]XWCXM.-AC7&25+%/^CLMD[-T MD43_E"='XYRJKH5FJ5K*3&?',&%I-7)MU05JAD!I'$H3-0&G" M?SYAI.MKT#@R/CW!XW\R^(>Z.E :A]*$__PBFX[E=GQCU?BT5?/Y@W^H?P*E M<2A-U+0=!O^!\4^"%_R38D&_)_>Y+;QT^[[AA=(XE"90-%L)XW $^UZ'(H"Z M$U :A]($BF9+:8R,@#8R7JZHR[..J)SI#GI+!74TH#11TZS*^>30[\AKQM0( M:%/#RFLO3V^G:;WC#74JH#2!HMFZ&$=Y: .")3&H32!HME2-E:DQ*Q" M06-Z"X)=A!*["F7;"AE=OWT$QI\(7O G.G)9QQ1VFM8[WE _ 4H3*)JMBS$> M@GTO+Q% ;0,HC4-I D6SI30.0X!97H+&]!8$6N-#:2)H6TCCJ"N7F3(_H,O\ M#]/S:I7X#].;]@A#RWDHC4-I D6SUS+U?<.F.>TL(M0R@-%'3QHU\-^Y80MSX .,>ZTR4@[B7?KZE@;WC#:W[ MH32!HMG2&']@O.^%)L902P%*XU":0-%L*8VE,*8G2;QB]H-:"5 :A])$3=N: MO[(]VALV;ARTDMFBO&-3SF;I?:*J&^ALGMW<%>J\O!?2UO,7SCM>W=O)8*I; M3;T/LT6DJ]Q8WFED,>(<5,/QIPV5KLO;$]VF2J6K\N%2AG.9%3OHU^_25#UM M%!UL[J$U^0]02P,$% @ B(%C5X;#?]I)!0 $28 !D !X;"]W;W)K M&ULQ9IM;^)&$,>_RHJ>JCLIB;WK)T@!*<$^]:2> MBD+3OJCZ8H,7L&)[Z7H)N7[ZKHUC8WOQA78DW@3;S/QV9V?V'T;>\9Z+YVS# MF$2O29QFD\%&RNVM863+#4MH=L.W+%7?K+A(J%2W8FUD6\%H6#@EL4%,TS42 M&J6#Z;AX-A?3,=_).$K97*!LER14?+MG,=]/!GCP]N A6F]D_L"8CK=TS19, M/F[G0MT9%26,$I9F$4^18*O)X [?!L3)'0J+WR.VSXZN41[*$^?/^J_C):9/ :G?PJ>,VO&?KH M,TFC./NDC!\7/OKXX1/Z@*(4_;;ANXRF838VI)IC/I*Q+.=S?Y@/.3$?"WWE MJ=QD*$A#%FK\_7[_48^_H=:F6B#RMD#WI!>X8-L;9)E7B)C$TLQG]GYWH@OG M_XT>_.?1&XMA5=5B%3SK%&]#!2M+8DZ_*<&0Z$X(FJY9?GWU5AHA4ME',[J- M)(VC?UAXA>X2OE/6?_ZBD.B+9$GVEZXZ#N/;^O%SU;S-MG3))@,EBQD3+VPP M_?$'[)H_Z5(#"?,A80$0K)%$NTJBW4=O;/GET;[6I>- <@M2_C_G94K(4!7B MR_$R=XULQ\)-([]KY W-8=,HZ!IA%;19637B=:IXG>_'B_@VCU&K2+WNY]8< M),R'A 5 L$8.W"H'[H6%PX5,(B3,AX0%0+!&$KTJB1Z8N-6L+1-;),RVD)A\:(')$:X0ZK<(>]X3XL'K.B'!\6=UK=Z'4_M^0@83XD M+ ""-7(PJG(PNK!NC""3" GS(6$!$*R11&S6388)IAPEZG@OCVS24@Z-$28C MLR4=&BO+MEN_3 *=E3=T].*!CQHKW!OS7,F'-KY>MW,K#I3F@]("*%HS :1. M +FP=I03@$HE),T'I050M&8JZ[83]S9$Y^F'U=G.9-31CZ[1R'7:\M$UPG:G M9]&-=_*W!ZZ;--S?IV'ICFGC[26=7820-!^4%D#1FCFINTD\O+2>@#:D MH#0?E!9 T9JIK)M2W-LNG:M(U(AYIZTG7R')/R FI MVS?2W[X]J#6D8KDI*C-46A+S;5ZSNGC[4><6(2C-!Z4%4+1F4NK^DN +ZPD! M[51!:3XH+8"B-5-9=ZJDMWTZ2T]*U/$.MYVVH&B,L&FW^QN=U^T="Q6C]97:,U2)FA<5"D-DRB-,BEH?GQ &S[H"T)0F@]*"Z!H MS?S4_2>Q+RTOH)TL*,T'I050M&8JZTZ6O.,%Z'OEQ>F^@O6\]AM?C95EN:2M M+UTKQW$Z^M*U&F)BM?3%.#KBDC"Q+LX692H<56F'\PO5T^K\TEUQ:J?U_![? MSK#FN8]O@\/II!I_."SUE8IUE&8H9BLUE'GCJ0F+P_FCPXWDV^* S1.7DB?% MY8;1D(G<0'V_XER^W>0#5*? IO\"4$L#!!0 ( (B!8U=NRR(,+P8 .LM M 9 >&PO=V]R:W-H965T7G-^8[Q[V(#(,ECEN;BJK>1LK@<#$2T@8R*/BL@5Y^L&,^H5*=\/1 % M!QJ705DZ<"QK/,AHDO<6\_+:#5_,V5:F20XWG(AMEE'^XQ.D;'?5LWM/%[XF MZXW4%P:+>4'7< ORKKCAZFS04.(D@UPD+"<<5E>]C_9EZ)0!98L_$]B)@V.B M'^6>L>_ZY$M\U;/T'4$*D=0(JOX]P!+25)/4??Q30WM-3AUX>/Q$#\J'5P]S M3P4L6?HMB>7FJC?MD1A6=)O*KVSW&>H'&FE>Q%)1_B6[NJW5(]%62);5P>H. MLB2O_M/'^D43JTT3%R<62%HFD M*;F5+/I.WGL@:9**#^070]P1OS3'NR_%^^;XF2%^H%YA M\QZ=I_?XR3$"K^D/XMH7Q+$X]_IPI^MEO"U[\+;L MH3D\@/L^<29=V5N573BO8L!NF M!X)+4= (KGJJIQ? 'Z"W^/DG>VS]VE5E3)B'"?,Q80$F+$2"M;0R;+0R--$7 ME418H4=%0> 1>)0(B,G[JL/[T"48(_%UF(=*MM8H\:HH\,A;Y6SD=456E#\#5]*JI,REX$H'N*L1S M.E"C7,S2E')!"N#5.-BI"N,MG*L*3)B'"?,KV/2@W'9_-CG2Q&DCIS]TCQ2! M=%LM18P;18R-BKCA+ *(!5EQEC7E%B=*Z"JTD7QNH3%A'B;,KV#C@QH.]>#> MJO-IF[%]U"9$NJE6F2=-F2?FWIVF^V_W!1$0;7DB$U5H#NM$2."Z4UBOU1F5 M0&C&MKGLJKDQS;DUQX1YF# ?$Q9@PL+)B=+44MLZ&&5:^I@V^IB>HX](?>.3 M6 T1LEIF1Z 6R3%1QY+37-!R[7Q!UIR)SI[!F.Q3X_$^ MP,P8(L%:&IDU&ID9-?([2#5-J(>+)TUT5=^(.;?ZF# /$^;/3JH_F9U4'S-C MB 1K5=^V]O:(9:S_D@FIC0\U=.C10LT'53>1US[:+I$;U8&L@"?YNM,$,<+/ M504JS4.E^36M)0SMA+1T@9HRQ**UE7%@G-GF2>3MLK/DQJBS2XY)\U!I/BHM M0*6%6+2V-IR]-AQ,#ZJF86D&D^:ATGQ46H!*"[%H;:+JMSJM? M95:,DT2(+3P$]U*3^ZY(&J$E#+%J[ZGO7TC;;ED=5 MS^ACDFTS(B!5+=>F_L',-?4/J,8C*LU'I06HM!"+UE;*WLVTS7;FB8^19:H_ MT 9F.8Q$D$MM>ZL6I7=!A&HO*O.[4S]5MMG!E\WJ6T?^[=)\3V=K!=6\1*4% MJ+00B];6RMX2MZ)=ZH-!JT$)1J]A:-CE(??%I)%&?ZI6OZ9*LU'I06HM!"+UE;)WI^T9ZA+352?$I7FH=)\5%J 2@NQ:.VM2GM3TS&; MFF]<4-3TP]GXJ/5K3+WE"=6N1*7YJ+0 E19BT=KBV/N:CMG7?'XV26@>$PY) M=K_E C(UK?Q_$\SZ!HXFF--C^:!:GZ@T'Y46H-)"+%HEG\'!UM(,^+K<-2R4 M*K:YK/;D-5>;G7]J5G=USW[\QU?;H*\I7R=*=2FL5"JK M/U%S-5[M+*Y.)"O*C:WW3$J6E8<;H#%PW4!]OF),/IWH!,W^[L5_4$L#!!0 M ( (B!8U?68S"I@@D UH 9 >&PO=V]R:W-H965T /I>'/2*AZNG4GRMUIS7Y%N>%=7U:%W7 MFW?C<96L>1Y7%^6&%_(_#Z7(XUJ^%*MQM1$\7NZ"\FSL.5&E94$$?[@>O7??L6#>!.Q*_#/E3]7!<])TY;XLOS8O/BRO1T[3 M(I[QI&X0L7QXY+<\RQJ2;,?O+734U=D$'CY_H=-=YV5G[N.*WY;9O])EO;X> M78[(DC_$VZS^4C[]E;<=FC2\I,RJW5_RM"\[F8Q(LJWJ,F^#90ORM-@_QM_: M#^(@P/..!'AM@'=N@-\&^-\%^/Z1@* -",X-F+0!DW.;-&T#IM\''/N49FW M;)>L_:>[2TT8U_'B2I1/1#2E):UYLLOO+EIF)"T:*=[50OXWE7'UXK;,\[26 MVJHK$A=+)&DO")OR:=8B+A1"WD3\CI.L^JGJW$M*V["QTE;2;BO MQ#M2B4]^E=AU1:)BR9>&^,@>/[?$CV6'NUY[+[V^\:S OR?U!7'#[Y M[2XD;_YLZM>M'?.W;7%!?*?!N#,+)K1C[OCF!:-:0Q[JO_S)G5W^0LI-,VA- MG]K_!TOMV) G$KO_[#Q+I]F)SRXN.HQK;Y668K\3MK_C^\=Z+R?MY3;CI'P@ M=I'_^Z,,)1]JGE?_,?3C9E]/8*ZG62K>59LXX=6.E#DTS$A9.>@ET MOTOQR1(4V2 &@FGIG7;IG5K3^Y'+'2PI[[-T%>_2:\JE%3$TETA8N(=-#S,U MG\_F3F_4GEN0]@L&_M2_[!5DH'YH69MU69M9L_:%YS)O6\&;U9PLM[P9E-DN ME7FY3!_2)#XV+JW@H;E$PD(D+)KUA_!\ZGG]?"-K92"8IHG+3A.7]C6ZJN1W M]C3?Q*G8R2)9QV+%C0/:2AHJ B0LO.SG;>(X_?&,K)0B80P$TS0P[S0PMVK@ M0Y=]4]:ML4.SCH2%2%@T[TG(DU-]?^0C*V4@F)9UUU'VA7/&V!>\3MLE02WH M)B'8:4.5 *6%+>TP?;YI CBS'#64,TTH#-4+/8,'!I1K'[G%DN=%MW*3]RO! M^;&!;&<-SA^2%D)I$91&H32&HNF*\91BO%>R=MJ*4')"TD(H+8+2*)3&4#1= M3LHH=*T&TN)C654DZ73S3.(D$=LX,PH&:@9":6%+.YSO>TO'R2(4VB:&HNFI M5>:=:W?O_L%%3CZ6L7DO /7CH+002HN@- JE,11-5XCR^-S):ZTE4-\/2@NA MM A*HU :0]%T.2E/T;6;BC>ED#%2-"2)935I_6R4"M16= T.G^,8=OHAM-X( M2J-0&D/1=!DHD](]Y5(^EMEC(X-;P9=I3:C40G9,#5!C$DH+H;0(2J-0&D/1 M=,4H"].]?*UU"&IQ0FDAE!9!:11*8RB:+B?EAKIV._3,=0CJB[:TPW5H8EZ& MH*8GE$:A-(:BZ0/L;W&?^9W'?2: [A(QLN$CG3 MQ"MN4HB]@J$*:6GSPZ^?%Y??J0-:902E42B-H6BZ.I3QZMF-UY#GS>H2\DU9 MI;7QUS([87#ZH78KE!9!:11*8RB:KA-EMWJO9;=Z4+L52@NAM A*HU :0]%T M.2F[U;/;K9_*XFVR%:+YL4[R:Y$F-5_*?4JU-FH&ZKA":6%+T[YYNZ:?[,XM M2,\MR% =T9.HC%7/;JQZCO/6\QSRF1?E?964QA_K[(S!J8,:K%!:!*51*(VA M:+I2E,'JO9;!ZD$-5B@MA-(B*(U":0Q%T^6D#%;/;K BC\>V5S584-##.UN: M=BS/I==?6,XJ1J%M8RB:+@%EKGIVS77.2FM-K#AZ852@M/=&U"GGDL3!9@ M],.1%-H#AJ+IR5=FJ6\W2R>.2V[7O(HW//YJM,KM@,'IAWJE4%H$I5$HC:%H MNDR45^J_EE?J0[U2*"V$TB(HC4)I#$73Y71P#KO=*T7N.NQ5#184]D3V_G&I MKMO_MGM>,0IM&T/1= DHI]6W.ZT_>A:R'3LXW5#SM:793D0^781"V\10-#W- MRB;U[2>;G]Q<0LU/*"T\T37;YO)'(RFT!PQ%TY.O3$W?;FK>Q06YC456&G^$ MMPVL=3TH:S2P6Z.GOKK8PPF;SD>*SBU(H>UC*)J>6.4X!G9S39E.\60K MTOJ9+/=GH1F%,NM-SZ;KF-W:JQHL :@5":51*(VA:+H$E!49V*W(LZ[#&QC< M+=-Y,;?VR@:+ &H?0FD42F,HFBX"Y3(&=I?Q?[BL;] _[=R=3XW:@)J(4%H$ MI5$HC:%H>VV,#VY6DG.QVMV'IKD V[:H]_'E[$JOK]1SJ^Q M6*5%)87R($.=BYF<'\3^WC/[%W6YV=WZY+ZLZS+?/5WS>,E%4T#^_Z$LZY<7 M307='8 6_P502P,$% @ B(%C5WISD!T&! CP\ !D !X;"]W;W)K M&ULM5=M;]LV$/XKA%8,+9!$EF3+5F8;B)T-"]"B M0=QT'X9]H*6S3502-9**F_WZ'2E9?I'"M6[VQ18EWL/G.?*.=^,M%U_D!D"1 MKUF:RXFS4:JX=ET9;R"C\HH7D..7%1<953@4:U<6 FABC++4]7N]T,THRYWI MV+R[%],Q+U7*LWOQP-8;I5^XTW%!U[ ]5C<"QRY M#4K",L@EXSD1L)HX-][UW!MH S/C,X.M/'@F6LJ2\R]Z<)=,G)YF!"G$2D-0 M_'N".:2I1D(>?]>@3K.F-CQ\WJ'_9L2CF"65,.?I'RQ1FXDS?-KR4:"/'KD+RFH(;UT1G%5'_!:(1 M^8#<-I+\FB>0'-N[*+I1[N^4SWPKX ***Q+T+HC?\X,./O-O-_[-W]N',W^?.!IRG!X[NE(OFKRX?5&OWN-71*N)8%C6'B M8,Q+$$_@3'_^R0M[OW0YX)7 CMS1;]S1MZ%/9[!F>:[=L:0IS6-T2&K.&6_. M&1XN7CD-G\U'>4%R4%U^J18+S6(ZLSU-@\@/<=N?#@5;*9TI>- ('E@%WV1< M*/9/I0:C31Q&&S71UB6L AT<"+L,PO[P1-B@)1]G>:-FUA'CL&$0?(,,34PHPJ2\I@2A>G[",)VS%8K,37=*& M;9=[4:B3P)$ZZ_IGJALUZD96=7=909G0TKH$C-H"_"@Z/3/6%<[D'S7\(_ON MM \_1OL^11Y$^P6ABF R5I M0=@2^BQJZ?:"430XT6UE=J9NK[>_CGO?=PV\ M9W3)4J:>OR'[U]BOE/Y?"^W8$P>%B?>C-X#<7P''AZ+3.5YK^_M!&)PF)3NK M]6^57553!7T60=O=YGDM\-W$(8M'7X[Y_?#P0LYW]N7*9[UVI_>Y0I0 M.):+<2S@I1Q9@QS%6AAXIQS_CPK#VY<8GKW&^($[H$;^STO SN!LW;YNN\L;T4B?O M9[K;-"W3'J9J53]0@9E&HOP50O:NABA 5-U?-5"\, W4DBMLQ\SC!CMF$'H" M?E]QKG8#O4#3@T__!5!+ P04 " "(@6-7H)$.&QL# !5"P &0 'AL M+W=OL@-"0V)(F_;711MJ: M(I! 3'3 !\0'-[TV%HD=;'>%_YZSDX6N]9()]J6)+^^]\[NKDYOLA/RA,@!- M?A4Y5U,OT[J\\'V59E!0=29*X/AD+61!-2[EQE>E!+JRI"+WPR 8^@5EW(LG M-G8MXXG8ZIQQN)9$;8N"RM]7D(O=U.MY=X%/;)-I$_#C24DWL #]N;R6N/(; ME14K@"LF.)&PGGJ7O8OYV. MX N#G=J[)\;)4H@?9O%N-?4"LR'((=5&@>+E M%F:0YT8(M_&SUO2:E(:X?W^G_L9Z1R]+JF F\J]LI;.I-_;("M9TF^M/8O<6 M:C\#HY>*7-E?LJNP(P2G6Z5%49-Q!P7CU97^JNNP1T =-R&L">$AH?\ (:H) MT6,S]&M"_[$9!C7!6OU>,J;!5<0'E&HN 5"8,P*Z_N[I9 GD+7OSB66\8O':5^"G% MDJ<4FS^1V+UF])MF]-O4XS>,4YX"R>V)3+$GSO-6B0RMB/E(W,;!Q+_=+V\G M(NE$S(\1O7$#N6=OT-@;M-K[6(*DYM739;"2&>RG'NXEKSPZ0..H=V#S�( M1P=*

H?]YS>QTV7H>M7A>9D/I4@RRZS Z/LA]VLQ.1="+FQXA^X'8X:AR. M6AW>"$WS/7,N;Z/'--(!.F[D,R M$Y%T(N9MB,J=OS]BUG/$4]P9JQ& MO+_RU<#Y@D >#SM1#Z M;F$2-)-T_ =02P,$% @ B(%C5\&?_LM" @ !@4 !D !X;"]W;W)K M&ULG53O:]LP$/U7#@]&!VOL.&DZ,L?0I(P5-E9: MMGX8^Z#8EUA4/SSIDK3__4YR:C)( ]N76"?IO7OO99-DFUD"8IB[AWZ\K";DA) M@[<._$9KX9[GJ.QNE@R3EXT[N6XH;*1ET8HUWB-];V\=1VG/4DN-QDMKP.%J MEEP-I_-QN!\O_)"X\P=K"$Z6UCZ&X*:>)5D0A HK"@R"/UMS\7@:^RRL=?V'5W M)Y,$JHTGJ_=@5J"EZ;[B:5^' T!^\0H@WP/RJ+M+%%5>"Q)EX>P.7+C-;&$1 MK48TBY,F_"GWY/A4,H[*A=5:$E>9/ A3P\(:DF:-II+HX1R^48,.OB ;AQO3 M-4&HYMDUDI#*ORM28AF!+*WV*>==ROR5E/?8#F"4O8<\RT=_PU-6WUO(>PMY MY!O]EX5KZ2ME_<8A_+Q:>G+Z2C(\G";,Q]:VH<)9P\WMT6TS*MV^& MD^SC"0NCWL+H%'OY$)L'ZW.Q1<>SP.T>!HI=@(JE)W0:SJ2!9Q3N>-%/9QAU M2!B#YO(T'O(QU.+9GQ _[L6/_TU\S26W&T/@!.$QJ1W?,(N$X=G8EMD@FUP6 MZ?901WK0UN&%^"K<6AK/)5DQ+AM<\HBX;NJZ@&P;.WUIB>@C \_=-7_@%02P,$% @ B(%C5]R3@XMQ @ W@4 !D !X;"]W M;W)K&ULK51=;],P%/TK5IC0)L&2)5T9(XVTIB"0 MF*A6!@^(!S>Y3:SY(]A.N_U[KITTZT8W(<1+XH][CL^Y]KWI1ND;4P-8,K%#?^ M2S9];!20HC56B1Z,"@23W9_>]GG8 2#/?D#< ^+'@-$3@*0')-YHI\S;FE%+ MLU2K#=$N&MG')$#PB3Y6JO6 M(*-)0XLZW6EAT6N:=IKB)S2])9>HHC;DO2RA?(@/T=]@,MZ:G,;/$BZ@.29) M](K$49SLT9/_/3Q^1DXRY#SQ?,D_Y7S&3,&5:360'Q=+8S6^])_[DM@=,MI_ MB*O^<]/0 B8!EK_GB9!R]VY>!_T3V(!^C(1^CY]BS[E4U],ZG9)_5 M#C_V>->7UMGI>'R6ANM="W\&C<:G]T&=M'"G5 3HRG<00PK52ML]J&%U:%(7 MOC8?K4^Q>76]YIZFZWR75%<,2X/#"BFCXS=8^KKK)MW$JL87Y%)9+&\_K+$! M@W8!N+]2RFXG[H"AI6>_ 5!+ P04 " "(@6-7LC#^3W$# #!# &0 M 'AL+W=O&PL[#K:SLF^/[69IEZ0IBGC3QHGO\>\YN[GK;,O%+YD# M*/2'T4+.G5RI\LIUY3('AN4E+Z'03]9<,*ST4&Q<60K *QO$J!MX7N(R3 HG MF]E[MR*;\4I14L"M0+)B#(NG#T#Y=N[XSO.-;V23*W/#S68EWL =J._EK= C MMU%9$0:%)+Q M9SY[U_M?!#$V!G_""PE0?7R%AYX/R7&7Q>S1W/$ &%I3(2 M6'\]P@(H-4J:XWM8(TKJK[Q M[2>H#<5&;\FIM)]H6\_U'+2LI.*L#M8$C!2[;_RG3L1!@!\="0CJ@.!? \(Z MP&;.W9%96]=8X6PF^!8),UNKF0N;&QNMW9#";..=$OHIT7$J6W#&B-+[HB3" MQ0HM>*%(L8%B24"BM^@+5I4@Z@F]+S!]DD0BOD9?2Q#83$,WH%.(SJ]!84+E MA0[X?G>-SL\NT!DB!;K/>26UK)RY2L.:)=UE#?9A!Q8< ;N#\A*%WAL4>$'8 M$[X8#K^&I0[W;7CP,MS5*6KR%#1Y"JQ>>$2O9;G7T$XAZE(ES!W] M@Y,@'L')7K_R$^]=G[W_)/;";-B8#8?4,Y-R="[ O :,Y1 Q?2QR>='G>B>5 M6"GSTGC,HB"8SMS'0S>#ZXUT$S5NHE-NHC[P751\")X&:0M\4'HD>-R QZ? MXS[PN L^228M\$'ID>!) YZ< D_ZP),.>.SY40M\4'HD>-J IZ? TS[PM ,> MQ&'8 A^4'@D^:< G@^#W.>@BOE8@^O G'7S?2]L'9G"!D?C3!G\ZC,\5IJ:\ M$58Q1&U1*?&3+4M]AJ;=_0BBJ/W2&5QSI"/?VQ=6;]#3#4AYA0@K*P4K70SU MWH!4O870Z]J)4J_E9GBYL78.^@3_A!VS*?R!D@TV#5A_2?>[)VTZ3=L;4T][ M43/")-R?R)>,^QKM#U;%;%$)H8\,*KFP/:)N56@;6[J5#)TF: MM-]5/;/B,/&.^-B77W^X_M[P8O-6GQZ_8+$AFH7"6L=YEZE.@-CUR[N!XJ5M.1^XT@VLO0GXB)OQ KG2#?-I>4H[ED6LD;MI-%@<3F- M/H].3B<^/R3\D+AU.V/P3FZ-N?/!^6(:)5X0*BS),PC^;7"&2GDBEO&GXXSZ MDAZX.WYD_Q*\LY=;X7!FU$^YH&H:'4>PP*58*[HRVZ_8^0D"2Z-<^,*VRTTB M*->.3-V!64$M=?L7]]T^[ #2] 5 V@'2H+LM%%2>"1)%;LT6K,]F-C\(5@.: MQ4GM#V5.EEP,QHDGJ%NI3HX#U\IPHM[&;MGR$)J=P! MKWX1I522'L ?/Z$6ND00*XOH^(&Z. MS2%DR3M(DS2#F_D9[.\=/*6)V6]O.NU-IX$W>X'WN:E?WS@%S@EK]WM(9\LW M'N;SC7/B&E'B-.+.<&@W&!5OWXR.DD^OJ,UZM=EK[,6U(:&&1+6PHP#SS;0P07?B,H=# EHJ29/!&0?AP5,>@&3 M_PD8AYMXS6>$8DEHATI/GGD?3_XI'.]TA7]@+H1=2>U X9)!R>$'YK!MT[8! MF28TRJTA;KLPK/B=0^L3>'UI##T&OO?ZE[/X"U!+ P04 " "(@6-7\+3X M2X0% !4,@ &0 'AL+W=O3U M9+VH)8KG>2GQR'R=5[K8NG(E&)UGHCCJ6H8Q[,8T3#K3BZSM3DPO^%I%8<+N!)'K.*;BY9I% M?'O9,3NO#??ATU*E#=WIQ8H^L0>F/J_NA-[KEI1Y&+-$ACPA@BTN.U?F>6". M4T'6X_>0;>7>-DE/Y9'SYW0GF%]VC'1$+&(SE2*H_MBP&Q9%*4F/XTL![90Q M4^'^]BO=S4Y>G\PCE>R&1W^$<[6\[(P[9,X6=!VI>[[U67%"@Y0WXY',_B?; MO._0ZI#96BH>%V(]@CA,\D_ZM;@0>P+-J1=8A9BD9G]00A\-M4Y-[UE$%9N3.RK4"_DD:")I9D-)3FRF:!C)4_(3 M^?Q@DY,/I^0#"1/R:=%5>@@IJ#LKPEWGX:QOA#/)+4_44A(GF;-Y MC=YMUO?^3>\UZR<-^JZ^=.7ULUZOW[75"+REXHSTS(_$,JQ>S7ANFN4/;*7E M1B8W:^1VL_QJ)1KE3K/\EW52RHVZR6@_>*MN+MK+ZRZ=_WW1@_;G;C48H5?> M2+V,USOV1B)__JJ[DD"Q6/Y5=\?DW'X]-UWLSN6*SMAE1Z]FDHD-ZTQ__,$< M&C_7V0T)LY$P!PESD3 /"?.1L $JQBZ7QJZWT2?WM$7G=0H2137*' MG08]PZAV"D##JOAO4/IOT.B_VZN _$UN;^ZOZDS6J#W69$B8C80Y2)B+A'E( MF(^$!2!8Q;3#TK3#=\H"ADA#(V$V$N8@82X2YB%A/A(6@& 50X]*0X\:OX7O M-9&*V9+HWWMDSC8LXJMTY2=";R=K1A:"QT3M_V[2=LH4)TM!(F(V$.4B8BX1Y M2)B/A 4@6,70IK'[<[+Q?^8+S=&.-3J49D-I#I3F%K3]I.%@!?>@(?V:D/V# MI $5LNK.O6*'V2)O>& B9))J<5H*&AUZL MJ2D=.-:%#LR#TGPH+4#1JD;5": M#Z4%*%K5TKO"F?E>E3,36CJ#TFPHS8'27"C-@])\*"U T:K6WI70S.8:VG?D ML8>5F,EX,.@/J@OO35T_T^8QTP\9:\G2#+CZT3ES\B6K>4K$%?9@_]OVJ_-<\>L:??,7T.I<6N+E>LY\[[4;+G"B<"O:%9KJ8>$<>9+@@-=.W8O4!6STCRY<* MIMPOK%K;P(.T5EJ4+=A$4%+>?,E#FX<-0!@^ 0A;0/@($#WE(6H!D1/:1.9D MG1%-DEB*%4AK;=CLPN7&H8T:RFT59UJ:6VIP.IEA;FJB=^$"12Y)5="4," \ M@X^Z0 FWN$1>(USRYL78U+^!:R(EL?F'[3/4A#*U UM .7PJ1*T,6L6^-M%9 M'W[:1G+:1!(^$4D$5X+K0L%[GF'6@Y\.X]\.X'V3E2XUX3HUI^$@X0RK/8B" M70B#,(*[V1EL;^WTQ?4/-*":O ^$&745C!Q_-%Q!4ZE*2$UY#E]/YDI+\P?Y MUE>%ANV@G\TVC6-5D10GGND*"N42O>3UJ_UQ\*Y/^G\B^T/X02?\8(@]N:[+ MN7FA8@&FI]GG:*2W:>U]?H-L+Q7>D(TV4RR2,_66/FE&G9O1,-=(5DLP9 M#LH9I'NIG-%SY8P[.>-!.1="9"O*&-"R(E2Z%_H3MOJ$-$3C#=]'0=!Y;^+[ MV^;P\.A1A/Y&%RQ1YFXX*$A%S773$+O3;OZ&PO=V]R:W-H965T&J"U>'L%=F^+9GOWX7 ?5%M)C-J65U*: M[N)^_%&V:YKDB):\XR]MXCQ\J.%0HVR;*.OJ^6Z>7WUV+:; M5Y-),WLL5T7SLMJ4:_V7^ZI>%:W^M7Z8-)NZ+.;;1JOEA,9Q,ED5B_75['MON@\GMS:9X*._* M]N/F?:U_FQQ8YHM5N6X6U3JJR_O75V_(*Y72KL$6\:]%^=P<_1QUIGRJJL_= M+^_FKZ_B[HK*93EK.XI"__>EG);+9<>DK^.W/>G5H<^NX?'/W]C_OC5>&_.I M:,IIM?SW8MX^OKY*KZ)Y>5\\+=L/U?,_RKU!HN.;5U-73U'=8?6;-T/V]'?MM;CM5AW$^6NK?5?%[I=>WM7/FBWMR^B M'\OJH2XVCXM9L8R*]3SZI7TLZ^A#^:5/3:36\W(.M,_#[;- ^XD>I\-@T6^#]98&">_*S',*F?/G>E=G]VX-!CO,'+;E8^&9WW%S MF+N+CJ^:33$K7U_I\->4]9?RZO:O?R%)_#=HV#')_ M5JV^E>O=#0S>?KOVR;9]]T3YIJ_C1KOYD,6;PC$D<70"G/'(M]4";3Q#$8 M &7<&3L%=)>)HQ&VS$T.YB9!1$]E.NRWC^@BKE^ M'BZ:MBXZK0%9+WWK*8M=ZP$4XYDS*7(?I:U*G%FA?!3+4I'!UJ<'Z]-3#F]K M/;&?ZB[*SAZ+^@&^GU._=\*=.W7J@]Q[&:"A*7 M3=E-9^WF\JO.!1K8Z#VI/1D9!5PS&B?N#(=PVFSF&0[@DI2)V#4 \3QUX]04POES.8=@2183=\Y#.!JG M">NQW:A'$M0^MS]6U?QYL5P>W?&@V[::O;YNLN0YSIZK+I0L;UOP"'D@.A)F3N&/HH+YFH "73V!L<'T6TZ7W1 MTN@\$A9Z[\MZFV&L9Z7.Z?[X?=5SJP19QB87J&PY*IO"8K/]880H22Z8 I*@ MS!WM)DRV')5-8;'9;C+BF835\]!0&V09[0],MISXPMI[2B-U: ^RT>@D+-+_ M6>E$+'J[V"K68E,^M8L9')V"/*.'&9,M1V536&RV1TP^0;)+1J=@MC+:39AL M.2J;PF*SEU1-"D3#*=# Z!1F&>L/5+:<^IF1KQBQNK2'V219-)QDO3^].!9F M&#W$F&PY*IO"8K-]8?(^2B\8F6@PJ1SM)DRV')5-8;'9;C(I*@VGJ*<7T*F? M*@J6"2>U E TC;FSOI)#,)[&[IHR ,L8DSVK,-2DE#2<4O8M*PZK&_/L],KL7"N=:8"CWSBTN$ M"NHNSP,P&B=NR2\'8)S'-',-]V%"$D)[##>)#0L7M,ZLTS._R$0)VVPCQ5FX"'5>R9X!6X'BV*O" 3 F MB+ME)0=@B>"QYW4?1N*8I'U1W>A<%M:Y0ROVS)>>U_JYXMZ.4PB7N!L0<@C5 M;51R'V8 +HU9G^.-WF4G-B&-J+DROUX!U%P!%%!S#5_6Z!V)EU"IS*A4%BZ3 M^$E#]+]H8%TW3#UZTRBJ1D5E4UALMI.,1F67K)PPU,H)*EN.RJ:PV.SMO49; M\R&;QX(;?'V!FTKB;I\!4(P0[FIJ""9%[ 0U!<#T0T=*#L=?;E0U#ZOJ$:D$ M!]2RGTH *""5@%!^*@'UV)]*<*.H>5A1CTDE."1]73=. 50BW80P!U"4$W?G ME0)@)$M9S^XP;G0T#^OH,Q,)[LM<(KFK+@$4DYG[V 50B? 4)M0CH4<[HNP! M.-J[?W(U?E@BP:&]5MZ"(H#R=O /(5)!(MM6HZAY6%&?ETAP7]QZ@>TD)#\- M44&(;;(1T'S(0O'8)()#V_D9=>M- (S&3+B9,@#CQ*\W ; D3DC?##=RFH?E M]- <@OLB^9HGQ#,:V,8?R]1=( '9F)$]&S/L"-_.5A^3LFA^#^%OO, M?=I. 1 1&7.M]E$T3=RC&P"*R[["(C=JDH=7/$')/WB[5)A\K)I$9\Y'2&,]!5AZ3OF6)\O0UTM+#$ M%[["X_+74A(N:>!55!(MM6 MHW9%6.V>)_"%+SS]2@$ \NP>P*."/+;91N&*L,(]3^0+7WHF4GAV W*72^X* M/P!&=2;@G5.&SJT>/S3L$3!R5X3E[E"-+WSE>9T0-R6?0C!".'$S&Q G!?&< M#N 8);1'\@HC>458\HZ1^<(OO5]K'[FF W5\][!>#H RSV:@TG^I.PZ#TM[Q-?@@)[C@$4M.<8@@%[C@%88,]Q8J1O$I:^0Z+&\/I@N+/1DQ3U M4#$JF\)BL]UFE'O"+QE+4#>-H[+EJ&P*B\UVDTDQDB$[58*QQ!?[4"P!]JY ML02 0;'$AX5BR=%;<<))QL!8,GCA,=S=Z&F*>CP9E4UAL=F.,VE2(B\935#W MEZ.RY:AL"HO-=I/)Y9)P+C<@FIQ\M=#T-"0_#5%!B&V>2=F2,ZH4YYR)"OD*B%BQ0V106F_U*,)-RRDL6+"1JXHG*EJ.R*2PVVTTF\91_MF A@5J$?R8* M0 %GH@ 4="8*@O6?B9(F?9/A].VL*#(\PPGW/GK2HA[]16536&RV'TUB*B_Y MY!#,)T99>ZR"=@MSWC/VDEJ4KPTG.)] M7!?+9373 :03(7J@9XO=/-WNZ%EU$_B/WOIW"KVMEPDWC((P'KM[FB 8]][Y MK2 8RT3/N874Y'_IB0/0(PK_>RKK;?C^OF8 187W^ !0/'4/O"@ )1+NUOXG M1]\FLBKKA^W7N#3:G*=UN_MZB,.GAZ^*>;/]@A3G\[?DU90 G^?DE=I]$8RA MWWTOS<]%_;!8-]&RO-==Q2\[H5;OONIE]TM;;;;?9?*I:MMJM?WQL2SF9=T! M]-_OJZK]]DO7P>$+=V[_#U!+ P04 " "(@6-77C-9.:T% !&/0 &0 M 'AL+W=O3'N1@@M10\(2 W?2/ORNY[X?> J7 M*YD?Z$S'FV IGH7\;?.8JKU.35F$:Q%G81([J7B=N'?>+?=)7E"T^#T4^^Q@ MV\DOY25)WO*=A\7$[>8C$I&8RQP1J(^=F(DHRDEJ'']74+?N,R\\W'ZG\^+B MU<6\!)F8)=$?X4*N)N[0=1;B-=A&\BG9?Q;5!?5SWCR)LN*OLZ_:=EUGOLUD MLJZ*U0C685Q^!E^KB3@H4)SF E(5D.."WHD"ORKP/]I#KRKH?;2'?E70/RX8 MG"@85 6#8N[+R2IFF@8RF([39.^D>6M%RS<*N8IJ-<%AG-]9SS)59T-5)Z?/ M8JGN$WGE?!+),@TVJW >1$X0+YQ?Y4JDSI/8B7@KG(>XO(OSN^$G9Y;$V^L]8@%TU'37Y_R>6(G/8G/M^-TKAW2)WS"@V[\]_]4UWUW2/62FY?=]F MFV N)J[RYTRD.^%.O__.&W1_;M('":-(&$/". AFZ-JK=>T5=/^$K@T.\^,@F"%QOY:X;_WJFA*G2N(K9R/2_)AZIFE2 MN.2-"E[^R+2;=J^5B>P.A;/VV58X)(PA81P$,X0;U,(-VGKN?9-<5DK;+R02 M1I$PAH1Q$,S0]:;6]0;MN3=(B9$PBH0Q)(R#8(;$PUKB(=ASK;RV"@\;#-P? MF0Y.FQIY?;,1:VK4[YF-.&CLQDR/ZID>M37)6=/\6BEMYQ<)HT@80\(X"&;H MZG7U+^8NVB8K(DAE*(U":0Q*XRB:J?1!-N*!W=(.;"VTUV2%_I%?0OMD4!I' MT4P!B1:0M#5AVBB;%=-:-B2-0FD,2N,HFBFOSGX\'^[$T" (2J-0&H/2.(IF M*JW3(,^:1%SBQ- X"$JC%>W(UX^><*%=!&#$V'H#0*I3$HC:-HIM(Z(O*L\<0E1@S-B* T6M'. M&#$T_4'13/UT_N/9 Z"[^3S9QC)SGL1V%1I*HU :@])X13O* MG74B8PJH@R9B#YK.N')C9F%'MI802:-0&H/2.(IF2JTC*4+0KDR@Z1241J$T M!J5Q%,U46J=3Q/YJT@6N# VGH#1:T<[\6P[:)T?13 %UZ$3LH=,95VX,,.S( MUA)"8R#*T*0* M2J-0&H/2>$4[%:Z8^ND BM@#J#.FS!L5A$904!J%TAB4QE$T4VJ=59$AW)2A M41641J$T!J5Q%,U46D=5Q/ZRU 6F#$VJH#1:T8Y>/RI#$R@4S5R$H1,H MWYY G7'E3TT2VI&MUV1 ,R@HC4%I'$4SI=99E>^A7=F'1E50&H72&)3&4313 M:1U5^?:WI]J[LAW86FAH4E71CAY';XY<&=HG1]%* 3L'RSR5JRZ+!;F94SAO MN6*N/EHO^KTKEKH>';_W;F=>PW'JW;)R2:_&ERN,OP3I,HPS)Q*OJJON]8WZ M$9>6BW;+'9ELBD6F+XE4EE]LKD2P$&G>0)U_31+YOI-W4"^=GOX'4$L#!!0 M ( (B!8U?-$Y:9SP, "X4 9 >&PO=V]R:W-H965TU5_=+@\WS//;[PV_-.SE0]ITGA CP(\\*/K42($N61'PK;YD[COT;4 M:M=4Q-/GH_H?E?'2F'O,R8)F?Z=KD4RMT )KLL&[3-S1PR?2 >BN:\>HO M.#18QP*K'1!<1 M@=.,OY>X;\L(O'OS'KP!:0&^)G3'I3*?V$+N7*UOKYI=7M6[1(_LT@4WM! ) M!W&Q)FL-/QKFCP?XMO18ZS9T=-L5&A1#H=ZKQ M_UZ]XPRWS2&WTG.'FU59V\Y"5> MD:DE"R$G;$^LV=O?H.]\U+G=I%AD4BPV)-8)D-<&R!M2GWVE0AYJUAQ:71!J MOE_QU?^6_6R,@F!B[T^=>PYR/2]PNJCH'.6YHQ!U4?$Y"CHA@J,6UC%TU!HZ M&C1TGA,F"YC6Q$'F<_/,I%AD4BPV)-9QO]^ZWW_%0N";#)!)LJ=\.@_2$&E0T//=WJTAUL)"YY'[ #SYO('#-X+;^4)K MXB#MN:EF5"TRJA:;4NL& #T$ +UB06C$387)I%ID5"TVI=8-T\,G'!S\ 'E* M47#/K^RAT[\::%#(]7W8KPHZ,3CR^E7A'!9"Y+F]JF"?]#_D%\"V:CQQL**[ M0M2?L>ULV]R:5RV=WOP5O%Q S7RDFF%5O^5!ONZDW6"V30L.,K*12SD7@:Q@ MK&Y.U0-!RZK[(X4 NT+<+9+U!+ P04 " "( M@6-7NV+0-6@" _!@ &0 'AL+W=OXY];]*MTO>F D#R4 MI)K1";"Z"P.05U,R-3?:SH*>I> U2,.5)!I6$SJ-+F8C%^\#OG/8FL&8."5+ MI>[=Y*J8T- E! )R= S,OC8P R$"1^03J%*SIN(Y$X3)@GS%"C2YA0W(-9 KV=X89_TQN5:R/+ZV_A=D M:@R@( C OSS@+N%G-R>/".'! NR;=*K8W]A$D#M!)<(D'> MI7O9IAOO3;.3A\7-X8(WKW8M[]V+/-]K#=R63'JK1B]>.A>N/#"F1>^2VU+,?84 MKI-NLOA]=':6!INAC'^CQM'Y(*K-+QB4MVNM7Y@NN31$P,KBPI.S4TITVZ[: M":K&5_Q2H>T??EC9#@_:!=C]E5+X-'%-I/]G9'\ 4$L#!!0 ( (B!8U?[ MP><$; , )\/ 9 >&PO=V]R:W-H965TVV\)^_>PDI.U(4S+R MTL;)/32[1_MX!VD.$H6\QGTM-(P>VTC+-9'982#K/)7E;)/GH MAC,52_2111!5X"_J\2%NGI\R1]YRCE"OUZ^6%92R M@E>F&5BT(\?!B_F]3N#_(W)'T(;(7BFR5ROR%D1V%FE=>HO_>4J@\I"I)6FZ M!EHBV_#;+_WVV]KO_38]MT2VX?FD]'S2YGZO)6OJ^Z3!FG6=U7?6><..KPQCEOB6W3]:HF<%LK"MQ6JX*VV#9]K^H"M]7"H)ZML??.BQ6\]1/LKDH# M]RVU03VXL8,F582[*B/<]NJ(@BJH/*P*E74AN41[K05*0,RRSE"BD,^9RKNA M\F[9?9YE/9>]"L];UQLL]$J2B,)40YWCGLZ.R+O!?*!XFC54]USI]BR[C'4' M#<($Z.=3SM7SP$Q0]N2COU!+ P04 " "(@6-7J[>G#TD# "P"P &0 M 'AL+W=O' SMV)<,"7BA(&=P+)999A\7L,E*^'3LO93-R31:K,A!L.U>W%2\I%KVDV/2%Q'8VK5UM6KM)/1QC:C<'*S2# M!6',[)\^VCD(PNN.V+C0ZUH]\\E9A:U 5]]J>ZUK,-[;74Q4@^GNZ4P/,>U6 MM\+L&.Y4ACN-AN\$7Q'[23/U&!?U2.V=5>>V$.ML9>#M>3V)B$XBIDV('9?= MRF6WT>6C( JN^7Q>:ZI[TM1)1'2("/9='4+\3J_>5Z_RU6OT-4I^Z@^@;DH4 M4ARI%! \$ZE,T>+-15/GN'?2\4E$=!(Q/41TCNQCO_+;/_=X DN:#V;_C(-9 M@SDXF&?H3)MU"JON5@N2@5C8WD^BF"^9*KXJU6S57HYL5[4W/V[=3EHU\Y%N M1XON\:]\TO!GP, *02 9 >&PO M=V]R:W-H965T;"$G_)[NH)!/UI3E1,@AV]A\QX"L-"C/;-=Q CLG M:6'%$WWOB<43NA=96L 30WR?YX2]?(*,'J<6MEYO/*>;K5 W['BR(QM8@/BQ M>V)R9-T0 S64^L1/\QPJ ZXJ\4COSD&JE2EI3^5(.OJZGEJ(P@ M@T0H"B+_#C"#+%-,,H__*E*KGE,!3Z]?V3_KXF4Q2\)A1K._TY783JW00BM8 MDWTFGNGQ"U0%C11?0C.N?]&QBG4LE.RYH'D%EAGD:5'^DU^5$"< [%\ N!7 M?2O JP">+K3,3)^0Y'Y'KN%X/?#8,GT,BX5C#W3;^?3;W%#WQ'$IA:\C7EP Y@Q;__A@/GCSXI#)&U MA/%J8;PA]O@Q2>B^$%R^W:^Z]-5;D@2:1&TRAQCCP(TF]N&TD&Z4AR/'KZ-: M&?IUAOY@AK,]8U"(OJP&@=>N@B&R5HVCNL;13>TY,BF,(;*6,$$M3&#"GB7) MZ,1X0>B-SMS9#7+#, KZW3FN$QP/)NCAN\!!<_+2NT<.8J]=!T-DK3+#NLSP MI@8-30ICB*PE3%0+$YDP:-3QGA]$SIE!NT%X[(_[_8F=IE=P!C,,\%UTV:'# MX&M7PA1;N]23M@C?U*75=*;$,<36%J?I@/!@'_%6IU8LK6W2/3-J3XRT\P6C M-IT('FY%(JQ=BF3#B>@!6&]V@Q17KX@AMG;!36.#_=O:U6@_9(JM+4[3$>'! MON+-=AUUK!AV[-J-&4?N!;LVG0D>;DV^4T$R;53YH7)Y?QTDN7I-#+&U2VYZ M'3R^K6&-]D>FV-KB-!T2'NPSWFS8L/.1Y(\C_]RRW2C/<<(SS]HG1PCJ_.9/ MPN27/4<9K"7,N1]+R[/R2*0<"+K3IPI+*@3-]>46R J8"I#/UY2*UX$ZJ*@/ MIN+_ 5!+ P04 " "(@6-7S9IH/G($ !:'P &0 'AL+W=OXXSME/*,FLQ*]NN MQ&+&"Y6P#*X$D46:4O']$A*^G5NN]=!PS>XVRC38BUE.[^ &U)?\2N@GNZ'$ M+(5,,IX1 >NY]=:]B-RA$90]_F2PE3OWQ+S*+>=?S<.[>&XY9D20P$H9!-67 M>UA"DAB2'L>_-=1J8AKA[OT#/2Q?7K_,+96PY,E?+%:;N75ND1C6M$C4-=_^ M#O4+C0QOQ1-9_B7;JN]D:I%5(15/:[$>0*+F:";XDPO37- MW)3Y+=4Z(RPS5KQ10G_*M$XMKD$J4:Q4(5AV1Y8;*NY DE/RD0I!C4O(:Q\4 M98E\HUN_W/CD]:LWY!5A&?F\X86D62QGMM(C,3Q[54>]K*)ZST1UR0>>J8TD M019#W*'W^_6#'^G#?OVT1V_K&6RFT7N8QDNO%_A'D9R1@7M"/,<;=(QGV2__ MR.^UW"GE7M=T],MO(&_D7=&#P^5=TBM5 P:1P]*WN P1W.IB#8I MT6?8>&?81]_SSJI:#;ML^#6_RR6]F&-=@@GS*]AH9Q5VI\[^BH\9,3PD M8H04L975\R:KYP?M(^0&[D'0;-69TE[&L2G%A/F8L 3%F+"(B18RR+3QB+3 ME]PTIIC>P83YF+ $Q9BPB(D6,L[KO-8-7%P?BCT3.4].Q/(1)\U%I 2HM1*5%6+2VAQYKG&YO&6S/ M0\8^#Q63E?;3"_G]+W.T+5!KEZBT"(O6ML5C^=)%JE_V1% KF.X/ MJY,!:L"P(Z#WY.<>^V7 M[L72[6CWW8N@JSTT!\?ER>%CV.K4^8,V"]/+1 )K/03G;**_%XKJ(+=Z4#PO MSQ%ON5(\+6\W0&,0IH/^?,VY>G@P 9KC],5_4$L#!!0 ( (B!8U=TA"53 M;@( %L% 9 >&PO=V]R:W-H965T):=7@ ?'@)M?&FF,'VVG'?\_9;D.!KKPD_G'? M=]^=[R[?*/UD:D0+SXV09AS5UK;7<6S*&AMF!JI%23=+I1MF::M7L6DULLJ# M&A&G27(5-XS+J,C]V;TN:S!=TS#],H M<8)08&D= Z/?&F]0"$=$,GYL.:/>I0/NKW?L'WSL%,N"&;Q1XBNO;#V.WD90 MX9)UPCZHS2UNX_$"2R6,_\(FV&99!&5GK&JV8%+0 MU.L.CKS*&;.LR+7:@';6Q.86/E2/)G%96TVWG'"VF!B#UL MB@HH3)@S M@7 Z0\NX,&=P ES"'1>",FCRV))'AXO++?LTL*D MM)>;[N1.TZ.$1Y1R_PSK@I22F7'5;P MN47-7,T88+("NFN580(^:M6U!KY-%L9J*J?OAQ(2_%P>]N-:[-JTK,1Q1#UD M4*\Q*EZ_&EXE[XY$<=E'<7F,/3PF\*9E7%/C6"AKIE=X\.$"TS#4A6O==3$< M9'F\/N _Z_UG__=_#C45TP7-BPM*&IZ#5!9:IBVH)52[7*Y<+@_IRO[5E0RN M_M(5[Q5\@Q2B:VL#I>JD#;7?G_:38Q(:YK=Y&#MWE"%.+RUP2=!D\(8$Z-#* M86-5Z]MGH2PUHU_6-/U0.P.Z7RIE=QOGH)^GQ2]02P,$% @ B(%C5_KQ MRL\V P 2A, T !X;"]S='EL97,N>&ULW5A=3]LP%/TKD1D32!-IFQ&: MT5;:*B%-VB8D>-@;38F>.R=K]^OG::?N"+.AXVNE0T]CT^YQ[;-\0P MJ,U*L+LY8R9:ED+60S(WIOH0Q_5TSDI:7ZB*28L42I?4V*Z>Q76E&C]^YH!S$@=%+P\0O>C8"U5V*":?'B;_G#@F?;4K[8:? M6B%//,5H_0#-9MDPH8.1LX.F\\QLG'#<[/=H4"BYV?:$^(#-3$L6/5(Q)&,J M^$1S8!6TY&+EPST(3)50.C*VWJR5+D3J7Q[N^AZ48J-3B-=@C/C :5-08IN6-[;C!+O@$BIKV_:JR#F>:KKJ]2[(AN)M-,E$Z M9[I-TR7KT&@@6 %V-)_-X6Y4%0-HC"IM(^=TIB1U'M:,IF%EITR(.WA.OQ<[ MVLMB:T\[L*.R;5I#3=/+^ [H;ZMY[6W9WHMTHXH_*O-I8:F#9]N M1WYJ6MVSI5F7T[+ /?>.T//?7><9DTQ3L6W:UOYK7N47.TZN_I5E]UMEWW#0 M8_/R?>TF+X_!9'H,)H^B)OO'8#)[E2;CY@6^=4K8.2.TT0C.8D/R#4Y]8I,T MFBRX,%PVO3G/Q"TN;C,V9+EXZ:K9Q/7C&S#9FTN(.PC-^X*(QC'8V$$,"P/ MY@#C>!:6YW^:3Q^=C\AX M''0PQM8M3>$GK(9Y P:6!S+]V5KCNXU7R/-U@.WI+>Q/,# =@&K'<@?S@,U%>8D">PJY@U[@G$DRS $:C%1AS!'( '#$D2]Q[<>Q_%Z_=4O/GOV>@W4$L#!!0 M ( (B!8U>7BKL

-8?20$3;8T.P6BP^0"X99K>]9!:G3P?M^TH-1*V-KO4/59X.#@?"+^S+9^OT#VL: M64T+9ZOJ=##>''A4KM'%N^)I@'R03[XM:>33O020TT%V"!><:>>;]HSV^A(8 MUPI.WGQ:-?9:5XUR5[)1-\ZNEMK,PV7@+D;H-MIZV+YN*O'8_9]JM+.9+M25 M+5:U,LVF'IVJ J#Q"[WT V%DK4X'EW:MG)C(N0HW!;]R6VYNL $R5%WN6,,! M=UNVC)P\IE3&JU+ .V\K70)'*2YD)4VA!(*,",BH1\CO$8*,"A?3:![")4QY.;<\0TD UKNI: M8DQ2-LRVN5=K959*W*O"SHT.QS$:I9@QLV/NX+I?K/=B"7Z>+J3K")KRRIA9 M++=FK7P33O)"&W%GS?"K=,\*(J!*B2G&I,PR9E;+M=1./,H*FO>KDG[E5(N, M\2BGC)FELHUHVAC1BRNH/EUUZ"B9C)EM,FUL\3Q\DIM1L(8K>?G?WD%Y9,PM M$KG4$*B+EA-#4=X8LXNCKO7/CA&&.M!' W&],H56G9:EO#%F%L=]*(16G4C7 MO(H')Z%EVPD4)HPH=T3,[IBJ>3CC=W&C[-S)Y2+,O=H*_=8LE,.8E#LB9G>< M5Y5]:;LP?%U<.E7JS8C=:>N(G*8P.^0>QFFW*IJ5@\=07()$YETX2B,1LT;. MH::@HWQ652FNH0:GLL**BRAW1,SNF,A7L?9BHES[]=#(5]H7E0T:P9"402)F M@]P:KTL(#J /EZ%]SQUTYOD[RT641R)FCY!Q8&=^%U$ZB9AULB,.% !X0[$2FW1,QN(2/#[KH()9B863![(L-M=6),2C QLV!V1XB[ M&CVF)!,S2V9?J/@3%&.2JV'LRV%$<"8.,"9EGIC9/&3PT^U"E'MB9O<0P4]H M=XQ)Z2=FUL^>51)QL.E,&)/23]R#?H8AXI#SN5-SC$D9*&8VT&[,T)$<3"$Z MXR9EH9A]AK,+\TY">!0V8?#"-V6AA-E"NS%_E6),RD+)QR^1 >:OR!AC4A9* M/GRY#"C;5P]Q2(,Q*0LE?:Z==;82$G)7AME"-";>3$@H"R7,%MH;R+T;WA/* M0@G[)&AG( =#I_0+@6694!9*F"VT%S,\#:;3A2@+)4A5)F"^V=9 S%GW^O.K5)62CM M:RX$F/42#T@I9:&4V4($9CB$,2D+I=QSH?V886438Y+9 UH:A8FC]HRR3];G2EPG"2BC[).Q MIZ91F#@-**/LDS';9_]^;CMX8DPR.XW;/N2Z9J<+4?;)F.U#8W:Z$&6AC-E" M-&:G"U$6RI@M1&/B+I13%LK[3#CXGF-,RD(Y]QR(Q#S"F)2%"Q1 @ ^RP !H !X;"]?A)Q1JA 7/X)GQ#P^%(.S;AO3\-NWPV+S^/A-*RJW3AVO^IZ M6._*L1GNVJZW M5=4_OZ6JGCM(($CF#U((TOF##()L_B"'()\_*" HY@_*$)3G#[J'H/OY@QX@ MZ&'^H+1$&9<$21.L";1.R'4B\#HAV(E [(1D)P*S$Z*="-1.R'8B<#LAW(E M[H1T)P*[$^*="/06U%L(]!;46PCTELG#-H'>@GH+@=Z">@N!WH)Z"X'>@GH+ M@=Z">@N!WH)Z"X'>@GH+@=Z*>BN!WHIZ*X'>BGHK@=XZ>5E"H+>BWDJ@MZ+> M2J"WHMY*H+>BWDJ@MZ+>2J"WHMY*H+>AWD:@MZ'>1J"WH=Y&H+>AWD:@MTU> M=A/H;:BW$>AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z.VHMQ/H[:BW$^CMJ+<3Z.VH MMQ/H[:BW$^CMDX^5!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>@?J'01Z!^H=!'H' MZAT$>@?J'01Z!^H=!'H'ZAT$>L?D9Q,"O0/U#@*] _4. KT#]0X"O3/JG0GT MSJAW)M [H]Z90.^,>F<"O3/JG0GTSJAW)M [H][Y)_4>QJ]#&:X]WVN\_D]2 M/9[/+=?+7Y;?.R?W^ 7G^K9B>/H+4$L#!!0 ( (B!8U?.%^TK=B>7OT%&>'OAOB MJMBEY+\S%NL=]3:6SM.05[8N]#;EK^&>>5OO[3TQL5@85KLAT9#F::Q1K)<_ M:6L?NC3[=<@_Q]8-JR)0%XO9C]/&,6M56.^[MK8IK[/'H7F7,G].*//):4_< MM3Y>Y0T%^S!A7/E[P/.YWX\40MO0;&-#NK%]WL4.'8OIV%$LSY?XH$>WW;8U M-:Y^Z/.1,OI MHD[HM1WY:GHU?GDE&^83I_\XORIS+G O',3G(]Y8H$^'_.;?_S_'3 ML^QM.[SDL^DOONL_4$L! A0#% @ B(%C5P=!36*! L0 ! M ( ! &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4 " "(@6-7 M$ZX K @ $0 @ &O 9&]C4')O<',O8V]R92YX M;6Q02P$"% ,4 " "(@6-7F5R<(Q & "<)P $P @ ', M 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( (B!8U>@1SK?QP4 M ,(> 8 " @0T( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ B(%C5R)9 M7%,[ P L@L !@ ("!RA4 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0#% @ B(%C5U[V9JFU" Z$4 !@ M ("!_", 'AL+W=OJ9ZI6P( (% 8 " @>&PO=V]R:W-H965T&UL4$L! M A0#% @ B(%C5QQ\?$"5 @ N@8 !@ ("!!SD 'AL M+W=O?00 M -@) 9 " @=([ !X;"]W;W)K&UL4$L! A0#% @ B(%C5_&PO=V]R:W-H965T&UL4$L! A0#% M @ B(%C5XJ#C9AJ" U!< !D ("!K%8 'AL+W=OP >&PO=V]R:W-H965T*XKQ!$ .,S 9 " @1^" !X;"]W;W)K&UL4$L! A0#% @ B(%C5Q_W1M$'!0 +0P !D M ("!&I0 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ B(%C5_&AVS()! W@D !D ("!0*@ M 'AL+W=O&PO=V]R:W-H965TVP !X;"]W;W)K&UL4$L! A0#% @ MB(%C5T@U17Y# @ B@8 !D ("!H+, 'AL+W=O&UL4$L! A0#% @ B(%C5[P//@JO @ M\P4 !D ("!M\D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B(%C5[DS^.5J!0 D@X !D M ("!B]( 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ B(%C5P'+7?6X" NQH !D ("!DN( 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B(%C M5U.KNR8#!P :#T !D ("!I?$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B(%C5V)*Y&ZH P _@P M !D ("!V?X 'AL+W=O&PO=V]R:W-H965T/H:*Q M_@( /P) 9 " @5(( 0!X;"]W;W)K&UL4$L! A0#% @ B(%C5WM/(P&.# #K4 !D M ("!APL! 'AL+W=O&PO=V]R:W-H965T M"@4+MV 0 "HE 9 M " @1D< 0!X;"]W;W)K&UL4$L! A0# M% @ B(%C5Z7QH&PO=V]R:W-H965T&UL4$L! A0#% @ B(%C5W-\7ISU @ I0@ !D M ("!LS&PO M=V]R:W-H965T[Y>>HK@( M )D( 9 " @>0^ 0!X;"]W;W)K&UL4$L! A0#% @ B(%C5_^#2=!A"0 3VL !D ("! MR4$! 'AL+W=O&PO=V]R:W-H965T%0 0!X;"]W;W)K&UL4$L! A0#% M @ B(%C5]9C,*F""0 #6@ !D ("!1UG.0'08$ "/#P M&0 @($ 80$ >&PO=V]R:W-H965T@D0X;&P, %4+ 9 " @3UE 0!X M;"]W;W)K&UL4$L! A0#% @ B(%C5\&?_LM" M @ !@4 !D ("!CV@! 'AL+W=O!0 &0 M@($(:P$ >&PO=V]R:W-H965TR,/Y/<0, ,$, 9 " @;!M 0!X;"]W;W)K&UL4$L! A0#% @ B(%C5U;?GW!4 @ 104 !D M ("!6'$! 'AL+W=O&PO=V]R M:W-H965TQE_WWLP( *$' M 9 " @9YY 0!X;"]W;W)K&UL M4$L! A0#% @ B(%C5R/]CLJW# ?&< !D ("!B'P! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MB(%C5[MBT#5H @ /P8 !D ("!8),! 'AL+W=O&PO=V]R:W-H965TKMZ&UL4$L! A0#% @ B(%C5P11Z\&? P MI!( !D ("!(IT! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B(%C5_KQRL\V P 2A, T M ( !1J@! 'AL+W-T>6QE&PO=V]R:V)O M;VLN>&UL4$L! A0#% @ B(%C5W-\>"Q1 @ ^RP !H M ( !7;(! 'AL+U]R96QS+W=O<&5S72YX;6Q02P4& %0 5 #%P )K XML 90 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 91 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 92 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 339 293 1 false 97 0 false 8 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.codexis.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited Condensed Consolidated Balance Sheets (Unaudited) Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Operations (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited Condensed Consolidated Statements of Operations (Unaudited) Statements 4 false false R5.htm 0000005 - Statement - Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical) Statements 5 false false R6.htm 0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Statements 6 false false R7.htm 0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnauditedParenthetical Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical) Statements 7 false false R8.htm 0000008 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited Condensed Consolidated Statements of Cash Flows (Unaudited) Statements 8 false false R9.htm 0000009 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical Condensed Consolidated Statements of Cash Flows (Unaudited) (Parenthetical) Statements 9 false false R10.htm 0000010 - Disclosure - Description of Business Sheet http://www.codexis.com/role/DescriptionofBusiness Description of Business Notes 10 false false R11.htm 0000011 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies Basis of Presentation and Summary of Significant Accounting Policies Notes 11 false false R12.htm 0000012 - Disclosure - Revenue Recognition Sheet http://www.codexis.com/role/RevenueRecognition Revenue Recognition Notes 12 false false R13.htm 0000013 - Disclosure - Net Loss per Share Sheet http://www.codexis.com/role/NetLossperShare Net Loss per Share Notes 13 false false R14.htm 0000014 - Disclosure - Investments in Non-Marketable Securities Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecurities Investments in Non-Marketable Securities Notes 14 false false R15.htm 0000015 - Disclosure - Fair Value Measurements Sheet http://www.codexis.com/role/FairValueMeasurements Fair Value Measurements Notes 15 false false R16.htm 0000016 - Disclosure - Balance Sheets Details Sheet http://www.codexis.com/role/BalanceSheetsDetails Balance Sheets Details Notes 16 false false R17.htm 0000017 - Disclosure - Stock-based Compensation Sheet http://www.codexis.com/role/StockbasedCompensation Stock-based Compensation Notes 17 false false R18.htm 0000018 - Disclosure - Capital Stock Sheet http://www.codexis.com/role/CapitalStock Capital Stock Notes 18 false false R19.htm 0000019 - Disclosure - Commitments and Contingencies Sheet http://www.codexis.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 19 false false R20.htm 0000020 - Disclosure - Related Party Transactions Sheet http://www.codexis.com/role/RelatedPartyTransactions Related Party Transactions Notes 20 false false R21.htm 0000021 - Disclosure - Segment, Geographical and Other Revenue Information Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation Segment, Geographical and Other Revenue Information Notes 21 false false R22.htm 0000022 - Disclosure - Allowance for Credit Losses Sheet http://www.codexis.com/role/AllowanceforCreditLosses Allowance for Credit Losses Notes 22 false false R23.htm 0000023 - Disclosure - Restructuring Charges Sheet http://www.codexis.com/role/RestructuringCharges Restructuring Charges Notes 23 false false R24.htm 0000024 - Disclosure - Assets Held For Sale Sheet http://www.codexis.com/role/AssetsHeldForSale Assets Held For Sale Notes 24 false false R25.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 25 false false R26.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 26 false false R27.htm 9954471 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies Basis of Presentation and Summary of Significant Accounting Policies (Policies) Policies http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies 27 false false R28.htm 9954472 - Disclosure - Revenue Recognition (Tables) Sheet http://www.codexis.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.codexis.com/role/RevenueRecognition 28 false false R29.htm 9954473 - Disclosure - Net Loss per Share (Tables) Sheet http://www.codexis.com/role/NetLossperShareTables Net Loss per Share (Tables) Tables http://www.codexis.com/role/NetLossperShare 29 false false R30.htm 9954474 - Disclosure - Investments in Non-Marketable Securities (Tables) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables Investments in Non-Marketable Securities (Tables) Tables http://www.codexis.com/role/InvestmentsinNonMarketableSecurities 30 false false R31.htm 9954475 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.codexis.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.codexis.com/role/FairValueMeasurements 31 false false R32.htm 9954476 - Disclosure - Balance Sheets Details (Tables) Sheet http://www.codexis.com/role/BalanceSheetsDetailsTables Balance Sheets Details (Tables) Tables http://www.codexis.com/role/BalanceSheetsDetails 32 false false R33.htm 9954477 - Disclosure - Stock-based Compensation (Tables) Sheet http://www.codexis.com/role/StockbasedCompensationTables Stock-based Compensation (Tables) Tables http://www.codexis.com/role/StockbasedCompensation 33 false false R34.htm 9954478 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.codexis.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.codexis.com/role/CommitmentsandContingencies 34 false false R35.htm 9954479 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables Segment, Geographical and Other Revenue Information (Tables) Tables http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation 35 false false R36.htm 9954480 - Disclosure - Allowance for Credit Losses (Tables) Sheet http://www.codexis.com/role/AllowanceforCreditLossesTables Allowance for Credit Losses (Tables) Tables http://www.codexis.com/role/AllowanceforCreditLosses 36 false false R37.htm 9954481 - Disclosure - Description of Business (Details) Sheet http://www.codexis.com/role/DescriptionofBusinessDetails Description of Business (Details) Details http://www.codexis.com/role/DescriptionofBusiness 37 false false R38.htm 9954482 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) Sheet http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails Revenue Recognition - Disaggregation of Revenue (Details) Details 38 false false R39.htm 9954483 - Disclosure - Revenue Recognition - Contracts with Customer (Details) Sheet http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails Revenue Recognition - Contracts with Customer (Details) Details 39 false false R40.htm 9954484 - Disclosure - Revenue Recognition - Narrative (Details) Sheet http://www.codexis.com/role/RevenueRecognitionNarrativeDetails Revenue Recognition - Narrative (Details) Details 40 false false R41.htm 9954485 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) Sheet http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails Revenue Recognition - Revenue Recognized During Period (Details) Details 41 false false R42.htm 9954486 - Disclosure - Revenue Recognition - Performance Obligation (Details) Sheet http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails Revenue Recognition - Performance Obligation (Details) Details 42 false false R43.htm 9954487 - Disclosure - Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details) Sheet http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details) Details 43 false false R44.htm 9954488 - Disclosure - Investments in Non-Marketable Securities - Narrative (Details) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails Investments in Non-Marketable Securities - Narrative (Details) Details 44 false false R45.htm 9954489 - Disclosure - Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) Details 45 false false R46.htm 9954490 - Disclosure - Fair Value Measurements (Details) Sheet http://www.codexis.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.codexis.com/role/FairValueMeasurementsTables 46 false false R47.htm 9954491 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails Balance Sheets Details - Cash and Cash Equivalents (Details) Details 47 false false R48.htm 9954492 - Disclosure - Balance Sheets Details - Inventories (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails Balance Sheets Details - Inventories (Details) Details 48 false false R49.htm 9954493 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails Balance Sheets Details - Property and Equipment, net (Details) Details 49 false false R50.htm 9954494 - Disclosure - Balance Sheets Details - Goodwill (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails Balance Sheets Details - Goodwill (Details) Details 50 false false R51.htm 9954495 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails Balance Sheets Details - Other Accrued Liabilities (Details) Details 51 false false R52.htm 9954496 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) Sheet http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails Stock-based Compensation - Equity Incentive Plans (Details) Details 52 false false R53.htm 9954497 - Disclosure - Stock-based Compensation - Employee Stock Purchase Plan (Details) Sheet http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails Stock-based Compensation - Employee Stock Purchase Plan (Details) Details 53 false false R54.htm 9954498 - Disclosure - Stock-based Compensation - Stock Options (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails Stock-based Compensation - Stock Options (Details) Details 54 false false R55.htm 9954499 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) Sheet http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails Stock-based Compensation - Restricted Stock Units (Details) Details 55 false false R56.htm 9954500 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) Sheet http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails Stock-based Compensation - PSUs and PBOs (Details) Details 56 false false R57.htm 9954501 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails Stock-based Compensation - Stock-based Compensation Expense (Details) Details 57 false false R58.htm 9954502 - Disclosure - Capital Stock (Details) Sheet http://www.codexis.com/role/CapitalStockDetails Capital Stock (Details) Details http://www.codexis.com/role/CapitalStock 58 false false R59.htm 9954503 - Disclosure - Commitments and Contingencies - Narrative (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails Commitments and Contingencies - Narrative (Details) Details 59 false false R60.htm 9954504 - Disclosure - Commitment and Contingencies - Schedule of Right-of-use Assets and Lease Obligations (Details) Sheet http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails Commitment and Contingencies - Schedule of Right-of-use Assets and Lease Obligations (Details) Details 60 false false R61.htm 9954505 - Disclosure - Commitments and Contingencies - Lease Cost (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails Commitments and Contingencies - Lease Cost (Details) Details 61 false false R62.htm 9954506 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails Commitments and Contingencies - Other Lease Information (Details) Details 62 false false R63.htm 9954507 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails Commitments and Contingencies - Cash Paid for Lease Obligations (Details) Details 63 false false R64.htm 9954508 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) Details 64 false false R65.htm 9954509 - Disclosure - Commitments and Contingencies - Other Commitments (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails Commitments and Contingencies - Other Commitments (Details) Details 65 false false R66.htm 9954510 - Disclosure - Related Party Transactions (Details) Sheet http://www.codexis.com/role/RelatedPartyTransactionsDetails Related Party Transactions (Details) Details http://www.codexis.com/role/RelatedPartyTransactions 66 false false R67.htm 9954511 - Disclosure - Segment, Geographical and Other Revenue Information - Narrative (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails Segment, Geographical and Other Revenue Information - Narrative (Details) Details http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables 67 false false R68.htm 9954512 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails Segment, Geographical and Other Revenue Information - Segment Reporting (Details) Details 68 false false R69.htm 9954513 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails Segment, Geographical and Other Revenue Information - Concentration Risk (Details) Details 69 false false R70.htm 9954514 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) Details 70 false false R71.htm 9954515 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) Details 71 false false R72.htm 9954516 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails Segment, Geographical and Other Revenue Information - Goodwill (Details) Details http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables 72 false false R73.htm 9954517 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) Sheet http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) Details 73 false false R74.htm 9954518 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) Sheet http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) Details 74 false false R75.htm 9954519 - Disclosure - Restructuring Charges - Narrative (Details) Sheet http://www.codexis.com/role/RestructuringChargesNarrativeDetails Restructuring Charges - Narrative (Details) Details 75 false false R76.htm 9954520 - Disclosure - Assets Held For Sale (Details) Sheet http://www.codexis.com/role/AssetsHeldForSaleDetails Assets Held For Sale (Details) Details http://www.codexis.com/role/AssetsHeldForSale 76 false false All Reports Book All Reports cdxs-20230930.htm cdxs-20230930.xsd cdxs-20230930_cal.xml cdxs-20230930_def.xml cdxs-20230930_lab.xml cdxs-20230930_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 95 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "cdxs-20230930.htm": { "nsprefix": "cdxs", "nsuri": "http://www.codexis.com/20230930", "dts": { "inline": { "local": [ "cdxs-20230930.htm" ] }, "schema": { "local": [ "cdxs-20230930.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", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "cdxs-20230930_cal.xml" ] }, "definitionLink": { "local": [ "cdxs-20230930_def.xml" ] }, "labelLink": { "local": [ "cdxs-20230930_lab.xml" ] }, "presentationLink": { "local": [ "cdxs-20230930_pre.xml" ] } }, "keyStandard": 256, "keyCustom": 37, "axisStandard": 36, "axisCustom": 0, "memberStandard": 48, "memberCustom": 46, "hidden": { "total": 22, "http://fasb.org/us-gaap/2023": 12, "http://www.codexis.com/20230930": 5, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 339, "entityCount": 1, "segmentCount": 97, "elementCount": 625, "unitCount": 8, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 977, "http://xbrl.sec.gov/ecd/2023": 4, "http://xbrl.sec.gov/dei/2023": 29 }, "report": { "R1": { "role": "http://www.codexis.com/role/CoverPage", "longName": "0000001 - Document - Cover Page", "shortName": "Cover Page", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)", "shortName": "Condensed Consolidated Balance Sheets (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RestrictedCash", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R3": { "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)", "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InvestmentsAndOtherNoncurrentAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R4": { "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations (Unaudited)", "shortName": "Condensed Consolidated Statements of Operations (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-23", "name": "us-gaap:InvestmentIncomeInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R5": { "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "longName": "0000005 - Statement - Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical)", "shortName": "Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-7", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R6": { "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "longName": "0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-53", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-53", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnauditedParenthetical", "longName": "0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical)", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PaymentsOfStockIssuanceCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null }, "R8": { "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "longName": "0000008 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ProvisionForDoubtfulAccounts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R9": { "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical", "longName": "0000009 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) (Parenthetical)", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherNoncashIncome", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-60", "name": "us-gaap:OtherNoncashIncome", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R10": { "role": "http://www.codexis.com/role/DescriptionofBusiness", "longName": "0000010 - Disclosure - Description of Business", "shortName": "Description of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies", "longName": "0000011 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.codexis.com/role/RevenueRecognition", "longName": "0000012 - Disclosure - Revenue Recognition", "shortName": "Revenue Recognition", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.codexis.com/role/NetLossperShare", "longName": "0000013 - Disclosure - Net Loss per Share", "shortName": "Net Loss per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecurities", "longName": "0000014 - Disclosure - Investments in Non-Marketable Securities", "shortName": "Investments in Non-Marketable Securities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.codexis.com/role/FairValueMeasurements", "longName": "0000015 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.codexis.com/role/BalanceSheetsDetails", "longName": "0000016 - Disclosure - Balance Sheets Details", "shortName": "Balance Sheets Details", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "cdxs:BalanceSheetsDetailsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "cdxs:BalanceSheetsDetailsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.codexis.com/role/StockbasedCompensation", "longName": "0000017 - Disclosure - Stock-based Compensation", "shortName": "Stock-based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.codexis.com/role/CapitalStock", "longName": "0000018 - Disclosure - Capital Stock", "shortName": "Capital Stock", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.codexis.com/role/CommitmentsandContingencies", "longName": "0000019 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.codexis.com/role/RelatedPartyTransactions", "longName": "0000020 - Disclosure - Related Party Transactions", "shortName": "Related Party Transactions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation", "longName": "0000021 - Disclosure - Segment, Geographical and Other Revenue Information", "shortName": "Segment, Geographical and Other Revenue Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.codexis.com/role/AllowanceforCreditLosses", "longName": "0000022 - Disclosure - Allowance for Credit Losses", "shortName": "Allowance for Credit Losses", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.codexis.com/role/RestructuringCharges", "longName": "0000023 - Disclosure - Restructuring Charges", "shortName": "Restructuring Charges", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.codexis.com/role/AssetsHeldForSale", "longName": "0000024 - Disclosure - Assets Held For Sale", "shortName": "Assets Held For Sale", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R25": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null }, "R26": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "c-23", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-23", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies", "longName": "9954471 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.codexis.com/role/RevenueRecognitionTables", "longName": "9954472 - Disclosure - Revenue Recognition (Tables)", "shortName": "Revenue Recognition (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.codexis.com/role/NetLossperShareTables", "longName": "9954473 - Disclosure - Net Loss per Share (Tables)", "shortName": "Net Loss per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables", "longName": "9954474 - Disclosure - Investments in Non-Marketable Securities (Tables)", "shortName": "Investments in Non-Marketable Securities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.codexis.com/role/FairValueMeasurementsTables", "longName": "9954475 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.codexis.com/role/BalanceSheetsDetailsTables", "longName": "9954476 - Disclosure - Balance Sheets Details (Tables)", "shortName": "Balance Sheets Details (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.codexis.com/role/StockbasedCompensationTables", "longName": "9954477 - Disclosure - Stock-based Compensation (Tables)", "shortName": "Stock-based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesTables", "longName": "9954478 - Disclosure - Commitments and Contingencies (Tables)", "shortName": "Commitments and Contingencies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "cdxs:ScheduleOfRightOfUseAssetsAndLeaseObligationsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "cdxs:ScheduleOfRightOfUseAssetsAndLeaseObligationsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables", "longName": "9954479 - Disclosure - Segment, Geographical and Other Revenue Information (Tables)", "shortName": "Segment, Geographical and Other Revenue Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.codexis.com/role/AllowanceforCreditLossesTables", "longName": "9954480 - Disclosure - Allowance for Credit Losses (Tables)", "shortName": "Allowance for Credit Losses (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "cdxs:AllowanceForCreditLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "cdxs:AllowanceForCreditLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.codexis.com/role/DescriptionofBusinessDetails", "longName": "9954481 - Disclosure - Description of Business (Details)", "shortName": "Description of Business (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null }, "R38": { "role": "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "longName": "9954482 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details)", "shortName": "Revenue Recognition - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-70", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R39": { "role": "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails", "longName": "9954483 - Disclosure - Revenue Recognition - Contracts with Customer (Details)", "shortName": "Revenue Recognition - Contracts with Customer (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetGrossCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CapitalizedContractCostNetCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R40": { "role": "http://www.codexis.com/role/RevenueRecognitionNarrativeDetails", "longName": "9954484 - Disclosure - Revenue Recognition - Narrative (Details)", "shortName": "Revenue Recognition - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-23", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails", "longName": "9954485 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details)", "shortName": "Revenue Recognition - Revenue Recognized During Period (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-23", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "longName": "9954486 - Disclosure - Revenue Recognition - Performance Obligation (Details)", "shortName": "Revenue Recognition - Performance Obligation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails", "longName": "9954487 - Disclosure - Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details)", "shortName": "Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-137", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-137", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "longName": "9954488 - Disclosure - Investments in Non-Marketable Securities - Narrative (Details)", "shortName": "Investments in Non-Marketable Securities - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-23", "name": "cdxs:NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R45": { "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "longName": "9954489 - Disclosure - Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details)", "shortName": "Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-156", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R46": { "role": "http://www.codexis.com/role/FairValueMeasurementsDetails", "longName": "9954490 - Disclosure - Fair Value Measurements (Details)", "shortName": "Fair Value Measurements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AssetsHeldForSaleNotPartOfDisposalGroup", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "ix:continuation", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-172", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R47": { "role": "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "longName": "9954491 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details)", "shortName": "Balance Sheets Details - Cash and Cash Equivalents (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-167", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R48": { "role": "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "longName": "9954492 - Disclosure - Balance Sheets Details - Inventories (Details)", "shortName": "Balance Sheets Details - Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterials", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterials", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "longName": "9954493 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details)", "shortName": "Balance Sheets Details - Property and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R50": { "role": "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "longName": "9954494 - Disclosure - Balance Sheets Details - Goodwill (Details)", "shortName": "Balance Sheets Details - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null }, "R51": { "role": "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "longName": "9954495 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details)", "shortName": "Balance Sheets Details - Other Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "longName": "9954496 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details)", "shortName": "Stock-based Compensation - Equity Incentive Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-189", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-6", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-189", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-6", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "longName": "9954497 - Disclosure - Stock-based Compensation - Employee Stock Purchase Plan (Details)", "shortName": "Stock-based Compensation - Employee Stock Purchase Plan (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-194", "name": "cdxs:ShareBasedCompensationArrangementBySharebasedPaymentAwardConsecutiveOfferingPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-194", "name": "cdxs:ShareBasedCompensationArrangementBySharebasedPaymentAwardConsecutiveOfferingPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "longName": "9954498 - Disclosure - Stock-based Compensation - Stock Options (Details)", "shortName": "Stock-based Compensation - Stock Options (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-198", "name": "cdxs:PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-198", "name": "cdxs:PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "longName": "9954499 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details)", "shortName": "Stock-based Compensation - Restricted Stock Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-201", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-201", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "longName": "9954500 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details)", "shortName": "Stock-based Compensation - PSUs and PBOs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-203", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "unitRef": "installment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-203", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "unitRef": "installment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "longName": "9954501 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details)", "shortName": "Stock-based Compensation - Stock-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:ShareBasedCompensation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-229", "name": "us-gaap:ShareBasedCompensation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R58": { "role": "http://www.codexis.com/role/CapitalStockDetails", "longName": "9954502 - Disclosure - Capital Stock (Details)", "shortName": "Capital Stock (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R59": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails", "longName": "9954503 - Disclosure - Commitments and Contingencies - Narrative (Details)", "shortName": "Commitments and Contingencies - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AreaOfRealEstateProperty", "unitRef": "sqft", "xsiNil": "false", "lang": "en-US", "decimals": "-2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AssetRetirementObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R60": { "role": "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "longName": "9954504 - Disclosure - Commitment and Contingencies - Schedule of Right-of-use Assets and Lease Obligations (Details)", "shortName": "Commitment and Contingencies - Schedule of Right-of-use Assets and Lease Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "cdxs:ScheduleOfRightOfUseAssetsAndLeaseObligationsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R61": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails", "longName": "9954505 - Disclosure - Commitments and Contingencies - Lease Cost (Details)", "shortName": "Commitments and Contingencies - Lease Cost (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-23", "name": "cdxs:FinanceLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-23", "name": "cdxs:FinanceLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails", "longName": "9954506 - Disclosure - Commitments and Contingencies - Other Lease Information (Details)", "shortName": "Commitments and Contingencies - Other Lease Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails", "longName": "9954507 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "shortName": "Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null }, "R64": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "longName": "9954508 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)", "shortName": "Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails", "longName": "9954509 - Disclosure - Commitments and Contingencies - Other Commitments (Details)", "shortName": "Commitments and Contingencies - Other Commitments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "c-265", "name": "us-gaap:OtherCommitment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:SupplyCommitmentTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-265", "name": "us-gaap:OtherCommitment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:SupplyCommitmentTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.codexis.com/role/RelatedPartyTransactionsDetails", "longName": "9954510 - Disclosure - Related Party Transactions (Details)", "shortName": "Related Party Transactions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-276", "name": "us-gaap:NonmonetaryTransactionGrossOperatingRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "ix:continuation", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R67": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails", "longName": "9954511 - Disclosure - Segment, Geographical and Other Revenue Information - Narrative (Details)", "shortName": "Segment, Geographical and Other Revenue Information - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "longName": "9954512 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "shortName": "Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-286", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R69": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails", "longName": "9954513 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "shortName": "Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "c-304", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-304", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "longName": "9954514 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "shortName": "Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null }, "R71": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "longName": "9954515 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "shortName": "Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "c-316", "name": "us-gaap:NoncurrentAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-316", "name": "us-gaap:NoncurrentAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R72": { "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "longName": "9954516 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details)", "shortName": "Segment, Geographical and Other Revenue Information - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-318", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R73": { "role": "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "longName": "9954517 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "shortName": "Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "c-29", "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "cdxs:AllowanceForCreditLossTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-29", "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "cdxs:AllowanceForCreditLossTableTextBlock", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "longName": "9954518 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "shortName": "Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-324", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R75": { "role": "http://www.codexis.com/role/RestructuringChargesNarrativeDetails", "longName": "9954519 - Disclosure - Restructuring Charges - Narrative (Details)", "shortName": "Restructuring Charges - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:RestructuringCharges", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-335", "name": "us-gaap:RestructuringCharges", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "unique": true } }, "R76": { "role": "http://www.codexis.com/role/AssetsHeldForSaleDetails", "longName": "9954520 - Disclosure - Assets Held For Sale (Details)", "shortName": "Assets Held For Sale (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "76", "firstAnchor": { "contextRef": "c-23", "name": "us-gaap:AssetImpairmentCharges", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "cdxs-20230930.htm", "first": true }, "uniqueAnchor": null } }, "tag": { "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total minimum lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r476" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r778" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information [Line Items]", "label": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Revenues by Geographical Area", "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]", "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues." } } }, "auth_ref": [ "r42", "r43" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r778" ] }, "srt_EquityMethodInvesteeNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "EquityMethodInvesteeNameDomain", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Investment, Name [Domain]", "label": "Investment, Name [Domain]" } } }, "auth_ref": [ "r274", "r275", "r276" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average exercise price of stock options exercised (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r410" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r39", "r40", "r41", "r49" ] }, "cdxs_A2021PBOMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2021PBOMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2021 PBO", "label": "2021 PBO [Member]", "documentation": "2021 PBO" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r39", "r40", "r41", "r49" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r778" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Goodwill", "periodStartLabel": "Goodwill, beginning balance", "periodEndLabel": "Goodwill, ending balance", "terseLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r165", "r293", "r506", "r692", "r721", "r851", "r858" ] }, "us-gaap_ImpairmentOfLeasehold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOfLeasehold", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment of leasehold", "label": "Impairment of Leasehold", "documentation": "The adjustment to reduce the value of existing agreements that specify the lessee's rights to use the leased property. This expense is charged when the estimates of future profits generated by the leased property are reduced." } } }, "auth_ref": [ "r5", "r50" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Grants in period (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r416" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r476" ] }, "us-gaap_OtherCommitmentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsTable", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Table]", "label": "Other Commitments [Table]", "documentation": "Disclosure of information about obligations resulting from other commitments." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesOther": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesOther", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Release of stock awards (in shares)", "label": "Stock Issued During Period, Shares, Other", "documentation": "Number of shares of stock issued attributable to transactions classified as other." } } }, "auth_ref": [] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum number of shares to be issued upon exercise of stock options", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r21" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r778" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r266", "r708", "r876", "r924", "r925" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r778" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r778" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r476" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Shares", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 }, "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Loss before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r1", "r89", "r120", "r231", "r251", "r257", "r260", "r510", "r521", "r685" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r476" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r778" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchase of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r98" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r476" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other income (expense), net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r95" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 }, "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Other accrued liabilities", "totalLabel": "Total other accrued liabilities", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders' equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r79", "r82", "r83", "r103", "r590", "r606", "r632", "r633", "r721", "r734", "r832", "r846", "r906", "r928" ] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r738" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2023 (remaining 3 months)", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "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." } } }, "auth_ref": [ "r911" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating Lease Maturity", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r911" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r779" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable", "label": "Accounts Receivable [Member]", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r661" ] }, "us-gaap_OperatingLeaseImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment", "negatedLabel": "Impairment", "label": "Operating Lease, Impairment Loss", "documentation": "Amount of loss from impairment of right-of-use asset from operating lease." } } }, "auth_ref": [ "r907" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "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." } } }, "auth_ref": [ "r827" ] }, "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesIssuedForServices", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares issued in exchange for service", "label": "Stock Issued During Period, Shares, Issued for Services", "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders." } } }, "auth_ref": [] }, "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Investment, Name [Axis]", "label": "Investment, Name [Axis]" } } }, "auth_ref": [ "r274", "r275", "r276" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r781" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r771" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "terseLabel": "Fair Value Disclosures [Abstract]", "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r780" ] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling, general and administrative", "label": "Selling, General and Administrative Expense", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r93" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Adjustments to reconcile net loss to net cash provided by (used in) operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r784" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r782" ] }, "us-gaap_OtherNoncashIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashIncome", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Equity securities earned from research and development activities ($0 and $1,245 from a related party)", "negatedLabel": "Equity securities earned from research and development activities", "label": "Other Noncash Income", "documentation": "Amount of income or gain included in net income that result in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r101" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r783" ] }, "us-gaap_CashMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Cash [Member]", "documentation": "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." } } }, "auth_ref": [ "r162" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r783" ] }, "us-gaap_OperatingCostsAndExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingCostsAndExpensesAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Costs and operating expenses:", "label": "Operating Costs and Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherCommitmentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsDomain", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Domain]", "label": "Other Commitments [Domain]", "documentation": "Other future obligation." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares authorized (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r719" ] }, "us-gaap_OtherCommitmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsAxis", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Axis]", "label": "Other Commitments [Axis]", "documentation": "Information by type of other commitment." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares available for grant", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r60" ] }, "cdxs_FacilityMaintenanceAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "FacilityMaintenanceAgreementMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Facility maintenance agreement", "label": "Facility Maintenance Agreement [Member]", "documentation": "Facility Maintenance Agreement" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover page.", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquireOtherInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireOtherInvestments", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Investment in non-marketable securities", "terseLabel": "Payments to acquire other investments", "label": "Payments to Acquire Other Investments", "documentation": "Amount of cash outflow to acquire investments classified as other." } } }, "auth_ref": [ "r97" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation not yet recognized, stock options", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for option under share-based payment arrangement." } } }, "auth_ref": [ "r904" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation not yet recognized, share-based awards other than options", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r904" ] }, "us-gaap_OtherCommitmentsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsLineItems", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Commitments [Line Items]", "label": "Other Commitments [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk [Line Items]", "label": "Concentration Risk [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r661" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r810" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Unallocated depreciation and amortization", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r5", "r236" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Axis]", "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r32", "r34", "r67", "r68", "r266", "r661", "r816" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer equipment and software", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "srt_RealEstateAndAccumulatedDepreciationNameOfPropertyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RealEstateAndAccumulatedDepreciationNameOfPropertyDomain", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Name of Property [Domain]", "label": "Name of Property [Domain]" } } }, "auth_ref": [ "r672", "r934", "r935", "r936", "r937", "r938", "r939", "r940", "r941" ] }, "srt_RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Name of Property [Axis]", "label": "Name of Property [Axis]" } } }, "auth_ref": [ "r672", "r934", "r935", "r936", "r937", "r938", "r939", "r940", "r941" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration risk, percentage", "label": "Concentration Risk, Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r32", "r34", "r67", "r68", "r266" ] }, "us-gaap_FinancialAssetNotPastDueMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialAssetNotPastDueMember", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current", "label": "Financial Asset, Not Past Due [Member]", "documentation": "Financial asset not past due." } } }, "auth_ref": [ "r283", "r691" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r158", "r228", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r260", "r266", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r306", "r314", "r320", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r692", "r817", "r924" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk [Table]", "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r31", "r32", "r34", "r35", "r67", "r116", "r661" ] }, "us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInContractWithCustomerAssetAndLiabilityAbstract", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amounts included in contract liabilities at the beginning of the period:", "label": "Change in Contract with Customer, Asset and Liability [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RestrictedCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCash", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted cash, current", "label": "Restricted Cash", "documentation": "Amount of cash restricted as to withdrawal or usage. 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." } } }, "auth_ref": [ "r819", "r830", "r922", "r923" ] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r777" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-cash items", "label": "Other Operating Activities, Cash Flow Statement", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r776" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r775" ] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r775" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounting Pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities [Axis]", "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r30" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r78", "r355" ] }, "us-gaap_RelatedPartyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyMember", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party", "label": "Related Party [Member]", "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family." } } }, "auth_ref": [ "r192", "r193", "r481", "r482", "r483", "r484", "r581", "r582", "r583", "r584", "r585", "r605", "r607", "r638" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "label": "Receivables [Abstract]" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Shares, Outstanding", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total shares excluded as anti-dilutive (shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r220" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r747", "r758", "r768", "r793" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r776" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Other non-current assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r166" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "terseLabel": "Earnings Per Share [Abstract]", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r747", "r758", "r768", "r793" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r78", "r588" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r78", "r588", "r606", "r928", "r929" ] }, "us-gaap_IndemnificationGuaranteeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndemnificationGuaranteeMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indemnification Agreement", "label": "Indemnification Agreement [Member]", "documentation": "An agreement (contract) that contingently requires the guarantor to make payments to the guaranteed party in compensation for that party's or parties' loss or injury attributable to specified events or actions, such as a patent infringement action against an entity that relied on certain representations as to ownership rights made by a software vendor." } } }, "auth_ref": [ "r868" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r796" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r776" ] }, "us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DiscontinuedOperationsAndDisposalGroupsAbstract", "lang": { "en-us": { "role": { "label": "Discontinued Operations and Disposal Groups [Abstract]" } } }, "auth_ref": [] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r776" ] }, "us-gaap_RelatedPartyTransactionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsAbstract", "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r108", "r322", "r323", "r662", "r863" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r15" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r78", "r355" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r777" ] }, "us-gaap_SeriesBPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesBPreferredStockMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series B Preferred Stock", "label": "Series B Preferred Stock [Member]", "documentation": "Series B preferred stock." } } }, "auth_ref": [ "r821", "r822", "r872" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting [Abstract]", "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.codexis.com/role/NetLossperShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Shares Not Included in Computation of Diluted Net Loss Per Share", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "documentation": "Tabular disclosure of 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." } } }, "auth_ref": [ "r30" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "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." } } }, "auth_ref": [ "r30" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Liabilities and Stockholders' Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Accumulated deficit", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r81", "r113", "r517", "r547", "r548", "r555", "r589", "r721" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r747", "r758", "r768", "r793" ] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use assets - Operating leases, net", "periodStartLabel": "Beginning balance, lease obligation - operation leases, net", "periodEndLabel": "Right-of-use assets - Operating leases, net, at September 30, 2023", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r465" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r6" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders' equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r84", "r119", "r518", "r721", "r832", "r846", "r906" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements." } } }, "auth_ref": [ "r61" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Domain]", "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r32", "r34", "r67", "r68", "r266", "r661" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_SeriesAPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesAPreferredStockMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series A Preferred Stock", "label": "Series A Preferred Stock [Member]", "documentation": "Series A preferred stock." } } }, "auth_ref": [ "r821", "r822", "r872" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money Market Funds", "label": "Money Market Funds [Member]", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r877" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r348", "r388", "r389", "r390", "r391", "r392", "r393", "r487", "r488", "r489", "r698", "r699", "r713", "r714", "r715" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r735" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of right-of-use assets", "negatedLabel": "Amortization of right-of-use assets", "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r829" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r777" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r777" ] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Leases", "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award vesting rights", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "documentation": "Percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [ "r878" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r736" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Domain]", "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is 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." } } }, "auth_ref": [ "r162" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r348", "r388", "r389", "r390", "r391", "r392", "r393", "r454", "r487", "r488", "r489", "r698", "r699", "r713", "r714", "r715" ] }, "us-gaap_InvestmentsAndOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsAndOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Investment in non-marketable equity securities ($0 and $13,921 with a related party)", "terseLabel": "Investment at cost basis", "label": "Investments and Other Noncurrent Assets", "documentation": "Amount of investments, and noncurrent assets classified as other." } } }, "auth_ref": [] }, "cdxs_SanCarlosMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SanCarlosMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "San Carlos", "label": "San Carlos [Member]", "documentation": "San Carlos" } } }, "auth_ref": [] }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted cash", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r25", "r123", "r188" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 }, "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Loss from operations", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r231", "r251", "r257", "r260", "r685" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase price of common stock", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r78", "r515", "r721" ] }, "cdxs_OfficeEquipmentAndFurnitureMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "OfficeEquipmentAndFurnitureMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Office equipment and furniture", "label": "Office Equipment and Furniture [Member]", "documentation": "Office Equipment and Furniture [Member]" } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Location [Axis]", "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_OtherCommitmentsFutureMinimumPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentsFutureMinimumPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails": { "parentTag": "us-gaap_OtherCommitment", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2023 (Remaining 3 Months)", "label": "Other Commitment, to be Paid, Remainder of Fiscal Year", "documentation": "Amount of commitment classified as other to be paid in remainder of current fiscal year." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additions", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r473", "r720" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r228", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r260", "r266", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r314", "r320", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r692", "r817", "r924" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r736" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares, issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r79" ] }, "us-gaap_VestingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingAxis", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting [Axis]", "label": "Vesting [Axis]", "documentation": "Information by vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r878", "r879", "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903" ] }, "cdxs_ScheduleOfRightOfUseAssetsAndLeaseObligationsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ScheduleOfRightOfUseAssetsAndLeaseObligationsTableTextBlock", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Right-of-use Assets and Lease Obligations", "label": "Schedule Of Right-of-use Assets And Lease Obligations [Table Text Block]", "documentation": "Schedule Of Right-of-use Assets And Lease Obligations" } } }, "auth_ref": [] }, "us-gaap_RevenuesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenues:", "label": "Revenues [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Intangible Assets and Goodwill", "label": "Schedule of Intangible Assets and Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class." } } }, "auth_ref": [ "r49" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r803" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, $0.0001 par value per share; 200,000 shares authorized; 69,827 shares and 65,811 shares issued and outstanding as of September\u00a030, 2023 and December\u00a031, 2022, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r79", "r516", "r721" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r16", "r191", "r277", "r330", "r331", "r333", "r334", "r335", "r337", "r339", "r341", "r342", "r440", "r441", "r442", "r457", "r586", "r684", "r734", "r869", "r913", "r914" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r453", "r454", "r455" ] }, "us-gaap_VestingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingDomain", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting [Domain]", "label": "Vesting [Domain]", "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r878", "r879", "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_OtherAggregatedInvestmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAggregatedInvestmentsMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other investments in non-marketable equity securities", "label": "Other Security Investments [Member]", "documentation": "Other investments in debt and equity securities and other forms of securities that provide ownership interests." } } }, "auth_ref": [ "r573", "r574", "r646" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r79", "r588" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares, outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r8", "r79", "r588", "r606", "r928", "r929" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r183" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Provision for income taxes", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r122", "r132", "r208", "r209", "r239", "r435", "r438", "r525" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Other Accrued Liabilities", "label": "Schedule of Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Cash and Cash Equivalents [Axis]", "label": "Restricted Cash and Cash Equivalents [Axis]", "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage." } } }, "auth_ref": [ "r13" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Research and development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reportable segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r839" ] }, "us-gaap_RestructuringCostAndReserveLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCostAndReserveLineItems", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Cost and Reserve [Line Items]", "label": "Restructuring Cost and Reserve [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r311", "r312", "r313", "r314", "r318", "r319", "r320" ] }, "us-gaap_PaymentsOfStockIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfStockIssuanceCosts", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Costs incurred in connection with offering", "label": "Payments of Stock Issuance Costs", "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security." } } }, "auth_ref": [ "r23" ] }, "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Cash and Cash Equivalents", "label": "Schedule of Cash and Cash Equivalents [Table Text Block]", "documentation": "Tabular disclosure of the components of cash and cash equivalents." } } }, "auth_ref": [] }, "us-gaap_RestructuringCostAndReserveAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCostAndReserveAxis", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Type [Axis]", "label": "Restructuring Type [Axis]", "documentation": "Information by type of restructuring cost." } } }, "auth_ref": [ "r311", "r312", "r318", "r319" ] }, "us-gaap_DiscontinuedOperationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DiscontinuedOperationsPolicyTextBlock", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Assets Held For Sale", "label": "Discontinued Operations, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for discontinued operations. Includes, but is not limited to, method of interest allocation to a discontinued operation." } } }, "auth_ref": [ "r7", "r11" ] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled receivables", "label": "Unbilled Receivables, Current", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "cdxs_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerAMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer A", "label": "Customer A [Member]", "documentation": "Customer A [Member]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r185" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r796" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r736" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Inventory Components", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r12", "r85", "r86", "r87" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Interest paid", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r184", "r186", "r187" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Money market funds", "terseLabel": "Estimated Fair Value", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleDebtSecuritiesGrossUnrealizedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesGrossUnrealizedLoss", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other-than-temporary impairment losses", "label": "Debt Securities, Available-for-Sale, Unrealized Loss", "documentation": "Amount of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r841" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Employee stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r62", "r63", "r399" ] }, "cdxs_PerformanceStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "PerformanceStockUnitsMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Stock Units (PSUs)", "verboseLabel": "PSUs", "label": "Performance Stock Units [Member]", "documentation": "Performance Stock Units [Member]" } } }, "auth_ref": [] }, "us-gaap_AssetsHeldForSaleNotPartOfDisposalGroupCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsHeldForSaleNotPartOfDisposalGroupCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Assets held for sale", "label": "Asset, Held-for-Sale, Not Part of Disposal Group, Current", "documentation": "Amount of assets held-for-sale that are not part of a disposal group, expected to be sold within a year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r105", "r721" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating segments", "terseLabel": "Operating Segments", "label": "Operating Segments [Member]", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r250", "r251", "r252", "r253", "r254", "r260" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Selling, general and administrative", "label": "Selling, General and Administrative Expenses [Member]", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Legal Entity [Axis]", "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "Number of Operating Segments", "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." } } }, "auth_ref": [ "r839" ] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party [Axis]", "label": "Related Party, Type [Axis]", "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests." } } }, "auth_ref": [ "r394", "r481", "r482", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r581", "r582", "r583", "r584", "r585", "r605", "r607", "r638", "r912" ] }, "us-gaap_RestructuringCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCharges", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/RestructuringChargesNarrativeDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring charges", "label": "Restructuring Charges", "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r5", "r316", "r318", "r862" ] }, "us-gaap_AssetsHeldForSaleNotPartOfDisposalGroup": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsHeldForSaleNotPartOfDisposalGroup", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/AssetsHeldForSaleDetails", "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset, held-for-sale, not part of disposal group", "label": "Asset, Held-for-Sale, Not Part of Disposal Group", "documentation": "Amount of assets held-for-sale that are not part of a disposal group." } } }, "auth_ref": [ "r105" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit losses", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Writeoff", "documentation": "Amount of writeoff of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r291" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r196", "r233", "r250", "r251", "r252", "r253", "r254", "r256", "r260", "r330", "r331", "r332", "r333", "r335", "r336", "r338", "r340", "r341", "r869", "r870" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r796" ] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted-average discount rate", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r475", "r720" ] }, "dei_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityDomain", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Entity [Domain]", "label": "Entity [Domain]", "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." } } }, "auth_ref": [] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r736" ] }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueImpairmentLossAnnualAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueImpairmentLossAnnualAmount", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment of investment in non-marketable equity securities", "label": "Equity Securities without Readily Determinable Fair Value, Impairment Loss, Annual Amount", "documentation": "Amount of impairment loss on investment in equity security without readily determinable fair value." } } }, "auth_ref": [ "r273" ] }, "us-gaap_NoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncurrentAssets", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-lived assets", "label": "Long-Lived Assets", "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets." } } }, "auth_ref": [ "r265" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Stockholders' equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Financing activities:", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "cdxs_ScheduleOfCommitmentsAndContingenciesTable": { "xbrltype": "stringItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ScheduleOfCommitmentsAndContingenciesTable", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Commitments and Contingencies [Table]", "label": "Schedule of Commitments and Contingencies [Table]", "documentation": "Schedule of commitments and contingencies." } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r99", "r100", "r101" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r196", "r233", "r250", "r251", "r252", "r253", "r254", "r256", "r260", "r330", "r331", "r332", "r333", "r335", "r336", "r338", "r340", "r341", "r869", "r870" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Investing activities:", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r185" ] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r736" ] }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedSuperiorLevelSharesEligibleToVestMultiplier": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedSuperiorLevelSharesEligibleToVestMultiplier", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based compensation arrangement by share-based payment award, performance goals achieved, superior level, shares eligible to vest, multiplier", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Superior Level, Shares Eligible To Vest, Multiplier", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Superior Level, Shares Eligible To Vest, Multiplier" } } }, "auth_ref": [] }, "us-gaap_InventoryValuationReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryValuationReserves", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory reserves", "label": "Inventory Valuation Reserves", "documentation": "Amount of valuation reserve for inventory." } } }, "auth_ref": [ "r48", "r826" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r797" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Impairment", "terseLabel": "Goodwill impairment", "label": "Goodwill, Impairment Loss", "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r5", "r294", "r300", "r304", "r692" ] }, "cdxs_ScheduleOfCommitmentsAndContingenciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ScheduleOfCommitmentsAndContingenciesLineItems", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Commitments and Contingencies [Line Items]", "label": "Schedule of Commitments and Contingencies [Line Items]", "documentation": "Schedule of Commitments and Contingencies [Line Items]" } } }, "auth_ref": [] }, "cdxs_PerformanceBasedOptionsPBOsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "PerformanceBasedOptionsPBOsMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Based Options (PBOs)", "verboseLabel": "PBOs", "label": "Performance Based Options (PBOs) [Member]", "documentation": "Performance Based Options (PBOs) [Member]" } } }, "auth_ref": [] }, "cdxs_CustomerFMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerFMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer F", "label": "Customer F [Member]", "documentation": "Customer F" } } }, "auth_ref": [] }, "cdxs_BiotherapeuticSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "BiotherapeuticSegmentMember", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Novel Biotherapeutics", "label": "Biotherapeutic Segment [Member]", "documentation": "Biotherapeutic Segment [Member]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Accrued compensation", "label": "Employee-related Liabilities, Current", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r739", "r809" ] }, "us-gaap_LossContingencyAccrualCarryingValueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyAccrualCarryingValueCurrent", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Loss contingency accrual", "label": "Loss Contingency, Accrual, Current", "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r324" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r118", "r167", "r191", "r231", "r252", "r258", "r277", "r330", "r331", "r333", "r334", "r335", "r337", "r339", "r341", "r342", "r439", "r441", "r457", "r512", "r600", "r721", "r734", "r869", "r870", "r913" ] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities, Name [Domain]", "label": "Antidilutive Securities, Name [Domain]", "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." } } }, "auth_ref": [ "r30" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r398", "r400", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427" ] }, "us-gaap_PurchaseObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PurchaseObligation", "crdr": "credit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued purchases", "label": "Purchase Obligation", "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier." } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Depreciation", "terseLabel": "Depreciation", "label": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r5", "r51" ] }, "cdxs_IncentiveStockOptionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "IncentiveStockOptionsMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Incentive Stock Options", "label": "Incentive Stock Options [Member]", "documentation": "Incentive Stock Options [Member]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r197", "r198", "r199", "r224", "r493", "r550", "r570", "r580", "r581", "r582", "r583", "r584", "r585", "r588", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r601", "r602", "r603", "r604", "r605", "r607", "r610", "r611", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r631", "r727" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r398", "r400", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427" ] }, "us-gaap_ContractWithCustomerAssetCreditLossExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetCreditLossExpense", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment charges related to contract assets", "label": "Contract with Customer, Asset, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r282", "r382", "r704" ] }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheOneMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tranche One", "label": "Share-Based Payment Arrangement, Tranche One [Member]", "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r739", "r809" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r796" ] }, "us-gaap_ContractWithCustomerAssetGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetGrossCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets", "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current", "documentation": "Amount, before 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." } } }, "auth_ref": [ "r873", "r874" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Customers that Contributed 10% or More of Total Accounts Receivable", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r31", "r32", "r34", "r35", "r67", "r116" ] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards (in shares)", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_DemandDepositsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DemandDepositsMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Demand Deposits", "label": "Demand Deposits [Member]", "documentation": "Accounts that may or may not bear interest and that depositor is entitled to withdraw at anytime without prior notice. Checking and negotiable order of withdrawal (NOW) accounts are the most common forms of demand deposits." } } }, "auth_ref": [] }, "cdxs_A2019AmendedPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2019AmendedPlanMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2019 Amended Plan", "label": "2019 Amended Plan [Member]", "documentation": "2019 Amended Plan" } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Concentration Risk", "label": "Customer Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r33", "r266" ] }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInContractWithCustomerLiabilityAbstract", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in the period:", "label": "Change in Contract with Customer, Liability [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "crdr": "credit", "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total revenues", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized", "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied." } } }, "auth_ref": [ "r705" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Performance obligations satisfied", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r385" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r724", "r725", "r726", "r728", "r729", "r730", "r731", "r833", "r834", "r905", "r926", "r928" ] }, "cdxs_CommonStockWarrantsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CommonStockWarrantsMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock Warrants", "label": "Common Stock Warrants [Member]", "documentation": "Common Stock Warrants" } } }, "auth_ref": [] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction in progress", "label": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Exercise of stock options (in shares)", "terseLabel": "Stock options exercised (shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r8", "r78", "r79", "r113", "r410" ] }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment of Long-Lived Assets", "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets." } } }, "auth_ref": [ "r0", "r107" ] }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedTargetLevelSharesEligibleToVestMultiplier": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedTargetLevelSharesEligibleToVestMultiplier", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based compensation arrangement by share-based payment award, performance goals achieved, target level, shares eligible to vest, multiplier", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Target Level, Shares Eligible To Vest, Multiplier", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Target Level, Shares Eligible To Vest, Multiplier" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheTwoMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tranche Two", "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "cdxs_A2019PlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2019PlanMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2019 Plan", "label": "2019 Plan [Member]", "documentation": "2019 Plan [Member]" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Proceeds from exercises of stock options", "terseLabel": "Proceeds from exercises of stock options", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r3", "r9" ] }, "us-gaap_OtherCommitment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitment", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Other Commitment", "documentation": "Minimum amount of other commitment not otherwise specified in the taxonomy. Excludes commitments explicitly modeled in the taxonomy, including but not limited to, long-term and short-term purchase commitments, recorded and unrecorded purchase obligations, supply commitments, registration payment arrangements, leases, debt, product warranties, guarantees, environmental remediation obligations, and pensions." } } }, "auth_ref": [] }, "cdxs_BalanceSheetsDetailsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "BalanceSheetsDetailsTextBlock", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Balance Sheets Details", "label": "Balance Sheets Details [Text Block]", "documentation": "Balance sheets details." } } }, "auth_ref": [] }, "us-gaap_NotesReceivableGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesReceivableGross", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total financial assets", "label": "Financing Receivable, before Allowance for Credit Loss", "documentation": "Amortized cost, before allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease." } } }, "auth_ref": [ "r131", "r147", "r148", "r172", "r283", "r287", "r690", "r691", "r818", "r847" ] }, "us-gaap_StockCompensationPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockCompensationPlanMember", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares issuable under the Equity Incentive Plan", "label": "Share-Based Payment Arrangement [Member]", "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares." } } }, "auth_ref": [ "r838" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r802" ] }, "cdxs_SeqWellMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SeqWellMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "seqWell", "label": "seqWell [Member]", "documentation": "seqWell" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "cdxs_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "documentation": "Lessee, Operating Lease, Liability, to be Paid, After Year Four" } } }, "auth_ref": [] }, "cdxs_ContractWithCustomerLiabilityReleaseEarlyTerminationOfObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ContractWithCustomerLiabilityReleaseEarlyTerminationOfObligation", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with customer, liability, release, early termination of obligation", "label": "Contract With Customer, Liability, Release, Early Termination Of Obligation", "documentation": "Contract With Customer, Liability, Release, Early Termination Of Obligation" } } }, "auth_ref": [] }, "cdxs_SaleOfStockMaximumSellingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockMaximumSellingPeriod", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, maximum selling period", "label": "Sale Of Stock, Maximum Selling Period", "documentation": "Sale Of Stock, Maximum Selling Period" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock", "label": "Employee Stock [Member]", "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock." } } }, "auth_ref": [] }, "srt_ScenarioForecastMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioForecastMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forecast", "label": "Forecast [Member]" } } }, "auth_ref": [ "r396", "r836" ] }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring and related cost, number of positions eliminated, period percent", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Period Percent", "documentation": "The number of positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s)." } } }, "auth_ref": [] }, "cdxs_CoreSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CoreSegmentMember", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Performance Enzymes", "label": "Core Segment [Member]", "documentation": "Core Segment [Member]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer [Abstract]", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r4" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.codexis.com/role/RevenueRecognition" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue Recognition", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r134", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r386" ] }, "cdxs_CustomerCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerCMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer C", "label": "Customer C [Member]", "documentation": "Customer C" } } }, "auth_ref": [] }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based compensation arrangement by share-based payment award, performance goals achieved, threshold level, shares eligible to vest, multiplier", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier" } } }, "auth_ref": [] }, "cdxs_LesseeOperatingLeaseOptionToExtendNumber": { "xbrltype": "integerItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "LesseeOperatingLeaseOptionToExtendNumber", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of options to extend", "label": "Lessee, Operating Lease, Option To Extend, Number", "documentation": "Lessee, Operating Lease, Option To Extend, Number" } } }, "auth_ref": [] }, "cdxs_OtherCommitmentToBePaidYearOneAndThereafter": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "OtherCommitmentToBePaidYearOneAndThereafter", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails": { "parentTag": "us-gaap_OtherCommitment", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 and Thereafter", "label": "Other Commitment, To Be Paid, Year One And Thereafter", "documentation": "Other Commitment, To Be Paid, Year One And Thereafter" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Stock-based Compensation Expense", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement." } } }, "auth_ref": [ "r61" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sale of property and equipment", "label": "Proceeds from Sale of Property, Plant, and Equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r96" ] }, "us-gaap_AreaOfRealEstateProperty": { "xbrltype": "areaItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AreaOfRealEstateProperty", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Area of real estate property (in square feet)", "label": "Area of Real Estate Property", "documentation": "Area of a real estate property." } } }, "auth_ref": [] }, "cdxs_EquitySecuritiesWithoutReadilyDeterminableFairValueShares": { "xbrltype": "sharesItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueShares", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-marketable equity securities purchased (in shares)", "label": "Equity Securities Without Readily Determinable Fair Value, Shares", "documentation": "Equity Securities Without Readily Determinable Fair Value, Shares" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementScenarioAxis", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scenario [Axis]", "label": "Scenario [Axis]" } } }, "auth_ref": [ "r210", "r396", "r812", "r813", "r836" ] }, "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of financial instruments measured at fair value on a recurring basis", "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]" } } }, "auth_ref": [] }, "cdxs_IncreaseDecreaseInEmployeeRelatedLiabilitiesAndOtherAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilitiesAndOtherAccruedLiabilities", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accrued compensation and other accrued liabilities", "label": "Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities", "documentation": "Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities" } } }, "auth_ref": [] }, "cdxs_OperatingLeaseRightOfUseAssetRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "OperatingLeaseRightOfUseAssetRollForward", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Lease, Right-of-Use Asset [Roll Forward]", "label": "Operating Lease, Right-of-Use Asset [Roll Forward]", "documentation": "Operating Lease, Right-of-Use Asset" } } }, "auth_ref": [] }, "cdxs_SaleOfStockPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockPeriod", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, period", "label": "Sale Of Stock, Period", "documentation": "Sale Of Stock, Period" } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of product revenue", "label": "Cost of Goods and Services Sold", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r92", "r493" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scenario [Domain]", "label": "Scenario [Domain]" } } }, "auth_ref": [ "r210", "r396", "r812", "r836" ] }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier": { "xbrltype": "pureItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance awards, threshold level, number of shares, multiplier", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Long-Lived Assets by Geographical Area", "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]", "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area." } } }, "auth_ref": [ "r45" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r106" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r692", "r850", "r851", "r852", "r853", "r854", "r855", "r856", "r857", "r858", "r859", "r860" ] }, "cdxs_PerformanceShareUnitsPSUsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "PerformanceShareUnitsPSUsMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Share Units (PSUs)", "label": "Performance Share Units (PSUs) [Member]", "documentation": "Performance Share Units (PSUs)" } } }, "auth_ref": [] }, "cdxs_SaleOfStockSecuritiesRegisteredAggregateAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockSecuritiesRegisteredAggregateAmount", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, securities registered aggregate amount", "label": "Sale Of Stock, Securities Registered Aggregate Amount", "documentation": "Sale Of Stock, Securities Registered Aggregate Amount" } } }, "auth_ref": [] }, "us-gaap_LossContingencyNatureDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyNatureDomain", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Loss Contingency, Nature [Domain]", "label": "Loss Contingency, Nature [Domain]", "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability." } } }, "auth_ref": [ "r324", "r325", "r326", "r329", "r864", "r865" ] }, "cdxs_MolecularAssembliesIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "MolecularAssembliesIncMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "MAI", "label": "Molecular Assemblies, Inc. [Member]", "documentation": "Molecular Assemblies, Inc." } } }, "auth_ref": [] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentIncomeInterest", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Interest income", "label": "Investment Income, Interest", "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities." } } }, "auth_ref": [ "r94", "r234" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted-average remaining lease term (in years)", "label": "Operating Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r474", "r720" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r348", "r388", "r393", "r454", "r487", "r713", "r714", "r715" ] }, "us-gaap_GeographicDistributionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicDistributionDomain", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographic Distribution [Domain]", "label": "Geographic Distribution [Domain]", "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities." } } }, "auth_ref": [ "r135", "r136", "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r144", "r145", "r146", "r151", "r152", "r153", "r154", "r155", "r156", "r509", "r510" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected timing of satisfaction, period", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r130" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "verboseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r264", "r265", "r572", "r575", "r576", "r641", "r643", "r648", "r651", "r658", "r663", "r664", "r665", "r666", "r667", "r668", "r669", "r670", "r671", "r676", "r707", "r726", "r876", "r924" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r8", "r22", "r157", "r178", "r179", "r180", "r197", "r198", "r199", "r201", "r207", "r209", "r224", "r278", "r279", "r370", "r431", "r432", "r433", "r436", "r437", "r443", "r444", "r445", "r446", "r447", "r448", "r450", "r458", "r459", "r460", "r461", "r462", "r463", "r477", "r544", "r545", "r546", "r559", "r631" ] }, "cdxs_CustomerBMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerBMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer B", "label": "Customer B [Member]", "documentation": "Customer B [Member]" } } }, "auth_ref": [] }, "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockConsiderationReceivedOnTransaction", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net proceeds received", "label": "Sale of Stock, Consideration Received on Transaction", "documentation": "Cash received on stock transaction after deduction of issuance costs." } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r80", "r721", "r927" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Less: imputed interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r476" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r348", "r388", "r393", "r454", "r488", "r698", "r699", "r713", "r714", "r715" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-in Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r431", "r432", "r433", "r559", "r833", "r834", "r835", "r905", "r928" ] }, "us-gaap_RelatedPartyTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionDomain", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party Transaction [Domain]", "label": "Related Party Transaction [Domain]", "documentation": "Transaction between related party." } } }, "auth_ref": [] }, "cdxs_BalanceSheetsDetailsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "BalanceSheetsDetailsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Balance Sheets Details [Abstract]", "label": "Balance Sheets Details [Abstract]", "documentation": "-- None. No documentation exists for this element. --" } } }, "auth_ref": [] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r264", "r265", "r572", "r575", "r576", "r641", "r643", "r648", "r651", "r663", "r664", "r665", "r666", "r667", "r668", "r669", "r670", "r671", "r676", "r707", "r726", "r876", "r924" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Renewal term", "label": "Lessee, Operating Lease, Renewal Term", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r908" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 }, "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease obligations", "periodStartLabel": "Beginning balance, lease obligations - operating leases, net", "periodEndLabel": "Ending balance, lease obligations - operating leases, net", "totalLabel": "Lease obligations", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r466" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level\u00a03", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r348", "r388", "r389", "r390", "r391", "r392", "r393", "r454", "r489", "r698", "r699", "r713", "r714", "r715" ] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyDomain", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party [Domain]", "label": "Related Party, Type [Domain]", "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests." } } }, "auth_ref": [ "r394", "r481", "r482", "r581", "r582", "r583", "r584", "r585", "r605", "r607", "r638" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r875" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Deficit", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r157", "r197", "r198", "r199", "r201", "r207", "r209", "r278", "r279", "r431", "r432", "r433", "r436", "r437", "r443", "r445", "r446", "r448", "r450", "r544", "r546", "r559", "r928" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r18", "r161", "r191", "r277", "r330", "r331", "r333", "r334", "r335", "r337", "r339", "r341", "r342", "r440", "r441", "r442", "r457", "r721", "r869", "r913", "r914" ] }, "cdxs_AllowanceForCreditLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "AllowanceForCreditLossTableTextBlock", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Analysis of Allowance for Credit Losses", "label": "Allowance For Credit Loss [Table Text Block]", "documentation": "Allowance For Credit Loss" } } }, "auth_ref": [] }, "us-gaap_ConvertibleDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleDebtMember", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Convertible Debt", "label": "Convertible Debt [Member]", "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock." } } }, "auth_ref": [ "r109", "r343", "r344", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r697", "r698", "r699", "r700", "r701" ] }, "cdxs_PercentofVotingInterestsThresholdtotriggerhigherexerciseprice": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percent of voting interests", "label": "Percent of Voting Interests Threshold to trigger higher exercise price", "documentation": "Percent of Voting Interests Threshold to trigger higher exercise price" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of lease obligations - Operating leases", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r466" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Axis]", "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r464", "r486" ] }, "cdxs_BalanceSheetDetailsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "BalanceSheetDetailsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Details [Abstract]", "label": "Balance Sheet Details [Abstract]", "documentation": "Balance Sheet Details [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Axis]", "label": "Class of Stock [Axis]", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r135", "r168", "r169", "r170", "r191", "r214", "r215", "r217", "r219", "r225", "r226", "r277", "r330", "r333", "r334", "r335", "r341", "r342", "r355", "r356", "r359", "r362", "r369", "r457", "r551", "r552", "r553", "r554", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r588", "r609", "r631", "r652", "r653", "r654", "r655", "r656", "r811", "r831", "r837" ] }, "cdxs_A2022PSUAnd2022PBOMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2022PSUAnd2022PBOMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2022 PSU And 2022 PBO", "label": "2022 PSU And 2022 PBO [Member]", "documentation": "2022 PSU And 2022 PBO" } } }, "auth_ref": [] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r798" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per share, diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r181", "r202", "r203", "r204", "r205", "r206", "r214", "r217", "r218", "r219", "r223", "r451", "r452", "r508", "r523", "r683" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Domain]", "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r464", "r486" ] }, "us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesFvNiUnrealizedGainLoss", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain on non-marketable securities", "label": "Equity Securities, FV-NI, Unrealized Gain (Loss)", "documentation": "Amount of unrealized gain (loss) on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)." } } }, "auth_ref": [ "r524", "r845" ] }, "cdxs_CustomerGMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerGMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer G", "label": "Customer G [Member]", "documentation": "Customer G" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r8", "r157", "r178", "r179", "r180", "r197", "r198", "r199", "r201", "r207", "r209", "r224", "r278", "r279", "r370", "r431", "r432", "r433", "r436", "r437", "r443", "r444", "r445", "r446", "r447", "r448", "r450", "r458", "r459", "r460", "r461", "r462", "r463", "r477", "r544", "r545", "r546", "r559", "r631" ] }, "cdxs_ShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based payment award, performance goals achieved, threshold level, shares Eligible to vest, multiplier", "label": "Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier", "documentation": "Share-Based Payment Award, Performance Goals Achieved, Threshold Level, Shares Eligible To Vest, Multiplier" } } }, "auth_ref": [] }, "cdxs_SeriesB2PreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SeriesB2PreferredStockMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series B-2 Preferred Stock", "label": "Series B-2 Preferred Stock [Member]", "documentation": "Series B-2 Preferred Stock" } } }, "auth_ref": [] }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardMaximumEmployeeSubscriptionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardMaximumEmployeeSubscriptionAmount", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed contribution rate", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Amount", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Amount" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term lease obligations - Operating leases", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r466" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Commitments and Contingencies (Note 10)", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r20", "r74", "r513", "r587" ] }, "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/AssetsHeldForSale" ], "lang": { "en-us": { "role": { "terseLabel": "Assets Held For Sale", "label": "Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]", "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." } } }, "auth_ref": [ "r76", "r104" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Income taxes paid", "label": "Income Taxes Paid", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r24", "r26" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expiration period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r718" ] }, "cdxs_A400PenoscotMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A400PenoscotMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "400 Penobscot", "label": "400 Penoscot [Member]", "documentation": "400 Penoscot" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionAxis", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party Transaction [Axis]", "label": "Related Party Transaction [Axis]", "documentation": "Information by type of related party transaction." } } }, "auth_ref": [ "r481", "r482", "r912" ] }, "cdxs_AssetImpairmentAndOtherCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "AssetImpairmentAndOtherCharges", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset impairment and other charges", "label": "Asset Impairment And Other Charges", "documentation": "Asset Impairment And Other Charges" } } }, "auth_ref": [] }, "us-gaap_RestrictedCashAndInvestmentsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndInvestmentsNoncurrent", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-current restricted cash", "label": "Restricted Cash and Investments, Noncurrent", "documentation": "The noncurrent cash, cash equivalents and investments that is restricted as to withdrawal or usage. Restrictions may include legally restricted deposits held as compensating balances against borrowing arrangements, contracts entered into with others, or entity statements of intention with regard to particular deposits classified as long-term; that is not expected to be released from such existing restrictions within one year of the balance sheet date or operating cycle, whichever is longer. Excludes compensating balance arrangements that are not agreements which legally restrict the use of cash amounts shown on the balance sheet. Includes noncurrent cash equivalents and investments that are similarly restricted as to withdrawal, usage or disposal." } } }, "auth_ref": [ "r659", "r660" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r773" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r160", "r175", "r191", "r277", "r330", "r331", "r333", "r334", "r335", "r337", "r339", "r341", "r342", "r439", "r441", "r457", "r721", "r869", "r870", "r913" ] }, "cdxs_LaboratoryEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "LaboratoryEquipmentMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Laboratory equipment", "label": "Laboratory Equipment [Member]", "documentation": "Laboratory Equipment [Member]" } } }, "auth_ref": [] }, "us-gaap_RestrictedCashAndCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalents", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted cash, current and non-current", "label": "Restricted Cash and Cash Equivalents", "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r25", "r117", "r162", "r188", "r514" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r266", "r708", "r876", "r924", "r925" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Domain]", "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r194", "r195", "r345", "r357", "r484", "r681", "r682" ] }, "cdxs_NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized or realized gains or losses", "label": "Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount", "documentation": "Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount" } } }, "auth_ref": [] }, "cdxs_ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition", "crdr": "credit", "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance obligations satisfied from new activities in the period - contract revenue", "label": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "documentation": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated performance goal achievement rate", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Capital expenditures incurred but not yet paid", "label": "Capital Expenditures Incurred but Not yet Paid", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r27", "r28", "r29" ] }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Carrying Value of Non-marketable Equity Securities", "label": "Equity Securities without Readily Determinable Fair Value [Table Text Block]", "documentation": "Tabular disclosure of investment in equity security without readily determinable fair value." } } }, "auth_ref": [ "r842", "r843", "r844" ] }, "us-gaap_EMEAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EMEAMember", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "EMEA", "label": "EMEA [Member]", "documentation": "Regions of Europe, Middle East and Africa." } } }, "auth_ref": [ "r930", "r931", "r932", "r933" ] }, "cdxs_A2021PSUMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2021PSUMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2021 PSU", "label": "2021 PSU [Member]", "documentation": "2021 PSU" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable", "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r171", "r267", "r268", "r679" ] }, "us-gaap_ClassOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockLineItems", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Line Items]", "label": "Class of Stock [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r168", "r169", "r170", "r225", "r355", "r356", "r357", "r359", "r362", "r367", "r369", "r551", "r552", "r553", "r554", "r702", "r811", "r831" ] }, "cdxs_A2022InducementPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2022InducementPlanMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2022 Inducement Plan", "label": "2022 Inducement Plan [Member]", "documentation": "2022 Inducement Plan" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionLineItems", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party Transaction [Line Items]", "label": "Related Party Transaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r612", "r613", "r616" ] }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactions" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party Transactions", "label": "Related Party Transactions Disclosure [Text Block]", "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r478", "r479", "r480", "r482", "r485", "r556", "r557", "r558", "r614", "r615", "r616", "r635", "r637" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfStockByClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfStockByClassTable", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock by Class [Table]", "label": "Schedule of Stock by Class [Table]", "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity." } } }, "auth_ref": [ "r53", "r54", "r55", "r56", "r57", "r58", "r59", "r111", "r112", "r113", "r168", "r169", "r170", "r225", "r355", "r356", "r357", "r359", "r362", "r367", "r369", "r551", "r552", "r553", "r554", "r702", "r811", "r831" ] }, "cdxs_CustomerDMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerDMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer D", "label": "Customer D [Member]", "documentation": "Customer D" } } }, "auth_ref": [] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r797" ] }, "cdxs_AllowanceForCreditLossWriteoff": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "AllowanceForCreditLossWriteoff", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Write-offs", "label": "Allowance For Credit Loss, Writeoff", "documentation": "Allowance For Credit Loss, Writeoff" } } }, "auth_ref": [] }, "us-gaap_VariableLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableLeaseCost", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable lease cost", "label": "Variable Lease, Cost", "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases." } } }, "auth_ref": [ "r471", "r720" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Equity [Abstract]", "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from issuance of common stock in connection with public offering", "label": "Proceeds from Issuance of Common Stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred revenue", "label": "Increase (Decrease) in Contract with Customer, Liability", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r492", "r828" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_PastDueFinancingReceivablesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PastDueFinancingReceivablesTableTextBlock", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Accounts Receivable by Aging", "label": "Financing Receivable, Past Due [Table Text Block]", "documentation": "Tabular disclosure of aging analysis for financing receivable." } } }, "auth_ref": [ "r46", "r47", "r691", "r849" ] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r878", "r879", "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net decrease in cash, cash equivalents and restricted cash", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r2", "r99" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r737" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r876" ] }, "us-gaap_InventoryWorkInProcess": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcess", "crdr": "debit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work-in-process", "label": "Inventory, Work in Process, Gross", "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r824" ] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per share, basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r181", "r202", "r203", "r204", "r205", "r206", "r212", "r214", "r217", "r218", "r219", "r223", "r451", "r452", "r508", "r523", "r683" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r878", "r879", "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total revenues", "verboseLabel": "Revenues", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r232", "r233", "r250", "r255", "r256", "r262", "r264", "r266", "r381", "r383", "r493" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the period", "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the period", "totalLabel": "Total cash, cash equivalents and restricted cash", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r25", "r99", "r188" ] }, "us-gaap_CashAndCashEquivalentsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsLineItems", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Line Items]", "label": "Cash and Cash Equivalents [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other long-term liabilities", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r79" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.codexis.com/role/NetLossperShare" ], "lang": { "en-us": { "role": { "terseLabel": "Net Loss per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r211", "r220", "r221", "r222" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427" ] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Domain]", "label": "Class of Stock [Domain]", "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "auth_ref": [ "r135", "r168", "r169", "r170", "r191", "r214", "r215", "r217", "r219", "r225", "r226", "r277", "r330", "r333", "r334", "r335", "r341", "r342", "r355", "r356", "r359", "r362", "r369", "r457", "r551", "r552", "r553", "r554", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r588", "r609", "r631", "r652", "r653", "r654", "r655", "r656", "r811", "r831", "r837" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r106", "r163", "r520" ] }, "us-gaap_InvestmentOwnedBalanceShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentOwnedBalanceShares", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares purchased (in shares)", "label": "Investment Owned, Balance, Shares", "documentation": "Number of shares of investment owned." } } }, "auth_ref": [ "r571", "r577", "r640", "r647", "r650", "r726" ] }, "us-gaap_SupplyCommitmentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplyCommitmentTableTextBlock", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Supply and Service Commitments", "label": "Supply Commitment [Table Text Block]", "documentation": "Tabular disclosure of arrangements in which the entity has committed resources to supply goods or services to a customer. May include identification of the goods or services to be furnished, identity of the purchasing party, pricing, effects on pricing for failing to deliver the [minimum] quantities required to be furnished, cancellation rights, and termination provisions." } } }, "auth_ref": [ "r77" ] }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCashAndCashEquivalentsTable", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Cash and Cash Equivalents [Table]", "label": "Schedule of Cash and Cash Equivalents [Table]", "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances." } } }, "auth_ref": [] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of product revenue", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r262", "r493", "r537", "r538", "r539", "r540", "r541", "r542", "r675", "r706", "r722", "r817", "r866", "r867", "r876", "r924" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r6", "r511", "r520", "r721" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r387", "r395", "r424", "r425", "r426", "r490", "r491", "r543", "r578", "r579", "r639", "r642", "r644", "r645", "r649", "r673", "r674", "r688", "r702", "r716", "r723", "r726", "r861", "r871", "r916", "r917", "r918", "r919", "r920" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r383", "r706", "r707", "r708", "r709", "r710", "r711", "r712" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r799" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r747", "r758", "r768", "r785", "r793" ] }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments": { "xbrltype": "integerItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of installments", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments" } } }, "auth_ref": [] }, "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecurities" ], "lang": { "en-us": { "role": { "terseLabel": "Investments in Non-Marketable Securities", "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]", "documentation": "The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment." } } }, "auth_ref": [ "r456" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Axis]", "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r162" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r383", "r706", "r707", "r708", "r709", "r710", "r711", "r712" ] }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock-based Compensation Expense by Security Types", "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r262", "r493", "r537", "r538", "r539", "r540", "r541", "r542", "r675", "r706", "r722", "r817", "r866", "r867", "r876", "r924" ] }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease term", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract", "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r909" ] }, "us-gaap_UnrealizedGainLossOnInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrealizedGainLossOnInvestments", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain on non-marketable securities", "label": "Unrealized Gain (Loss) on Investments", "documentation": "Amount of unrealized gain (loss) on investment." } } }, "auth_ref": [ "r5" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r395", "r491", "r543", "r578", "r579", "r639", "r642", "r644", "r645", "r649", "r673", "r674", "r688", "r702", "r716", "r723", "r871", "r915", "r916", "r917", "r918", "r919", "r920" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r387", "r395", "r424", "r425", "r426", "r490", "r491", "r543", "r578", "r579", "r639", "r642", "r644", "r645", "r649", "r673", "r674", "r688", "r702", "r716", "r723", "r726", "r861", "r871", "r916", "r917", "r918", "r919", "r920" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r747", "r758", "r768", "r793" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Provision (recovery) for credit losses", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r182", "r282" ] }, "us-gaap_AccountsNotesAndLoansReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total financial assets, net", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of accounts and financing receivables, classified as current. Includes, but is not limited to, notes and loan receivable." } } }, "auth_ref": [ "r267", "r687" ] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r305", "r313", "r616" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r313", "r616" ] }, "us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued1": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued1", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares received in exchange for services (in shares)", "label": "Noncash or Part Noncash Acquisition, Noncash Financial or Equity Instrument Consideration, Shares Issued", "documentation": "The number of shares issued as [noncash or part noncash] consideration for a business or asset acquired. Noncash is defined as transactions during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [ "r27", "r28", "r29" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance obligation", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r129" ] }, "us-gaap_CreditLossFinancialInstrumentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditLossFinancialInstrumentTextBlock", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLosses" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for Credit Losses", "label": "Credit Loss, Financial Instrument [Text Block]", "documentation": "The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security." } } }, "auth_ref": [ "r270", "r271", "r281", "r284", "r285", "r286", "r288", "r289", "r290" ] }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedRenewalTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLeaseNotYetCommencedRenewalTerm1", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Renewal term", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Renewal Term", "documentation": "Term of lessee's operating lease renewal for lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r909" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Axis]", "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r194", "r195", "r345", "r357", "r484", "r680", "r682" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event", "label": "Subsequent Event [Member]", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r464", "r486" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostAbstract", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease, Cost [Abstract]", "label": "Lease, Cost [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r130" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Basis of Presentation and Principles of Consolidation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Lease payments", "terseLabel": "Lease payments", "label": "Operating Lease, Payments", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r467", "r472" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r773" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r803" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r796" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r6" ] }, "us-gaap_CashAndCashEquivalentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash reconciliation:", "label": "Cash and Cash Equivalents [Abstract]" } } }, "auth_ref": [] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r773" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: accumulated depreciation and amortization", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r52", "r164", "r519" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of additional shares authorized (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized", "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_GeographicDistributionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicDistributionAxis", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographic Distribution [Axis]", "label": "Geographic Distribution [Axis]", "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities." } } }, "auth_ref": [ "r135", "r136", "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r144", "r145", "r146", "r151", "r152", "r153", "r154", "r155", "r156", "r509", "r510", "r689" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r774" ] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease cost", "label": "Lease, Cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r468", "r720" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award vesting period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r717" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash and cash equivalents", "terseLabel": "Adjusted Cost", "label": "Cash and Cash Equivalents, at Carrying Value", "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." } } }, "auth_ref": [ "r25", "r162", "r677" ] }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesByNatureOfContingencyAxis", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Loss Contingency Nature [Axis]", "label": "Loss Contingency Nature [Axis]", "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur." } } }, "auth_ref": [ "r324", "r325", "r326", "r329", "r864", "r865" ] }, "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsDebtAndEquitySecuritiesAbstract", "lang": { "en-us": { "role": { "label": "Investments, Debt and Equity Securities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term lease costs", "label": "Short-Term Lease, Cost", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r470", "r720" ] }, "cdxs_APACMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "APACMember", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "APAC", "label": "APAC [Member]", "documentation": "Regions of Australia, New Zealand, Southeast Asia and China" } } }, "auth_ref": [] }, "us-gaap_TypeOfRestructuringDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfRestructuringDomain", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Type of Restructuring [Domain]", "label": "Type of Restructuring [Domain]", "documentation": "Identification of the types of restructuring costs." } } }, "auth_ref": [ "r311", "r312", "r318", "r319" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease costs", "label": "Operating Lease, Cost", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r469", "r720" ] }, "us-gaap_EmployeeSeveranceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeSeveranceMember", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Severance", "label": "Employee Severance [Member]", "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r774" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://www.codexis.com/role/DescriptionofBusiness" ], "lang": { "en-us": { "role": { "verboseLabel": "Description of Business", "label": "Nature of Operations [Text Block]", "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." } } }, "auth_ref": [ "r124", "r133" ] }, "us-gaap_IncreaseDecreaseInFinanceReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInFinanceReceivables", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Financial assets", "label": "Increase (Decrease) in Finance Receivables", "documentation": "The increase (decrease) during the reporting period in outstanding loans including accrued interest." } } }, "auth_ref": [ "r4" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "us-gaap_ProvisionForLoanLossesExpensed": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForLoanLossesExpensed", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for credit losses", "label": "Financing Receivable, Credit Loss, Expense (Reversal)", "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable." } } }, "auth_ref": [ "r282", "r507" ] }, "cdxs_MasterCollaborationResearchAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "MasterCollaborationResearchAgreementMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "MCRA", "label": "Master Collaboration & Research Agreement [Member]", "documentation": "Master Collaboration & Research Agreement" } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesLineItems", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable Securities [Line Items]", "label": "Marketable Securities [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]", "label": "Schedule of Related Party Transactions, by Related Party [Table]", "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r70", "r71", "r612", "r613", "r616" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r739", "r809" ] }, "cdxs_SaleOfStockConsiderationReceivedOnTransactionGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockConsiderationReceivedOnTransactionGross", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, consideration received on transaction, gross", "label": "Sale of Stock, Consideration Received on Transaction, Gross", "documentation": "Sale of Stock, Consideration Received on Transaction, Gross" } } }, "auth_ref": [] }, "us-gaap_InventoryFinishedGoods": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoods", "crdr": "debit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Gross", "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer." } } }, "auth_ref": [ "r823" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r804" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r371", "r372", "r384" ] }, "us-gaap_MarketableSecuritiesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesTable", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable Securities [Table]", "label": "Marketable Securities [Table]", "documentation": "Disclosure of information about investment in marketable security." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Non-employee stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Other, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement, classified as other." } } }, "auth_ref": [] }, "cdxs_FinanceLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "FinanceLeaseCost", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease costs", "label": "Finance Lease, Cost", "documentation": "Finance Lease, Cost" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/CapitalStock" ], "lang": { "en-us": { "role": { "terseLabel": "Capital Stock", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r110", "r190", "r354", "r356", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r368", "r370", "r449", "r634", "r636", "r657" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred revenue, net of current portion", "label": "Contract with Customer, Liability, Noncurrent", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent." } } }, "auth_ref": [ "r371", "r372", "r384" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r44", "r88" ] }, "cdxs_NovelBiotherapeuticsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "NovelBiotherapeuticsMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Novel Biotherapeutics", "label": "Novel Biotherapeutics [Member]", "documentation": "Novel Biotherapeutics [Member]" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Contract liabilities: deferred revenue", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r371", "r372", "r384" ] }, "us-gaap_PaymentsOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfFinancingCosts", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Costs incurred in connection with issuance of common stock at public offering", "label": "Payments of Financing Costs", "documentation": "The cash outflow for loan and debt issuance costs." } } }, "auth_ref": [ "r23" ] }, "cdxs_CustomerEMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "CustomerEMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer E", "label": "Customer E [Member]", "documentation": "Customer E" } } }, "auth_ref": [] }, "us-gaap_GeographicAreasLongLivedAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicAreasLongLivedAssetsAbstract", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographic Areas, Long-Lived Assets [Abstract]", "label": "Geographic Areas, Long-Lived Assets [Abstract]" } } }, "auth_ref": [] }, "cdxs_NonStatutoryStockOptionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "NonStatutoryStockOptionsMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Statutory Stock Options", "label": "Non-Statutory Stock Options [Member]", "documentation": "Non-Statutory Stock Options [Member]" } } }, "auth_ref": [] }, "cdxs_ArzedaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ArzedaMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Arzeda", "label": "Arzeda [Member]", "documentation": "Arzeda" } } }, "auth_ref": [] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r801" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r804" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Other long-term liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r19" ] }, "cdxs_A501ChesapeakeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A501ChesapeakeMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "501 Chesapeake", "label": "501 Chesapeake [Member]", "documentation": "501 Chesapeake" } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementInputsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementInputsDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/FairValueMeasurements" ], "lang": { "en-us": { "role": { "verboseLabel": "Fair Value Measurements", "label": "Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block]", "documentation": "The entire disclosure of the fair value measurement of assets and liabilities, which includes financial instruments measured at fair value that are classified in shareholders' equity, which may be measured on a recurring or nonrecurring basis." } } }, "auth_ref": [ "r114" ] }, "us-gaap_CapitalizedContractCostNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostNetCurrent", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract costs", "label": "Capitalized Contract Cost, Net, Current", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current." } } }, "auth_ref": [ "r292" ] }, "us-gaap_SecurityOwnedNotReadilyMarketableAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecurityOwnedNotReadilyMarketableAxis", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Security Owned Not Readily Marketable [Axis]", "label": "Security Owned Not Readily Marketable [Axis]", "documentation": "Information by name of not readily marketable security." } } }, "auth_ref": [ "r72" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r804" ] }, "cdxs_SeriesC1PreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SeriesC1PreferredStockMember", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series C-1 Preferred Stock", "label": "Series C-1 Preferred Stock [Member]", "documentation": "Series C-1 Preferred Stock" } } }, "auth_ref": [] }, "us-gaap_SecurityOwnedNotReadilyMarketableNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecurityOwnedNotReadilyMarketableNameDomain", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Security Owned Not Readily Marketable, Name [Domain]", "label": "Security Owned Not Readily Marketable, Name [Domain]", "documentation": "Name of the security category or actual security title." } } }, "auth_ref": [ "r72" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r796" ] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Balance Sheet Location [Domain]", "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r64", "r65" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate, non-segment", "label": "Corporate, Non-Segment [Member]", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r10", "r251", "r252", "r253", "r254", "r260", "r840" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r804" ] }, "cdxs_A200220PenobscotMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A200220PenobscotMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "200-220 Penobscot", "label": "200-220 Penobscot [Member]", "documentation": "200-220 Penobscot" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental disclosure of cash flow information:", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Research and development", "label": "Research and Development Expense", "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use." } } }, "auth_ref": [ "r75", "r434", "r921" ] }, "us-gaap_SalesRevenueProductLineMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueProductLineMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue, Product and Service Benchmark [Member]", "documentation": "Revenue from specified product or service, when it serves as benchmark in concentration of risk calculation. Includes, but is not limited to, revenue from contract with customer and other sources." } } }, "auth_ref": [ "r815" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restructuring and Related Costs [Table]", "label": "Schedule of Restructuring and Related Costs [Table]", "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring." } } }, "auth_ref": [ "r311", "r312", "r313", "r314", "r318", "r319", "r320" ] }, "us-gaap_CostsAndExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostsAndExpenses", "crdr": "debit", "calculation": { "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total costs and operating expenses", "label": "Costs and Expenses", "documentation": "Total costs of sales and operating expenses for the period." } } }, "auth_ref": [ "r91" ] }, "cdxs_TermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "TermLoanMember", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term Loan", "label": "Term Loan [Member]", "documentation": "Term Loan [Member]" } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r804" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property and Equipment, Net", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r6" ] }, "cdxs_SaleOfStockCommissionsAndReimbursementsPercentageOfGrossSalesPrice": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockCommissionsAndReimbursementsPercentageOfGrossSalesPrice", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, commissions and reimbursements, percentage of gross sales price", "label": "Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price", "documentation": "Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Domain]", "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r32", "r34", "r67", "r68", "r266", "r661" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r4" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r749", "r760", "r770", "r795" ] }, "cdxs_LineOfCreditFacilityAccountsReceivableBorrowingBasePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "LineOfCreditFacilityAccountsReceivableBorrowingBasePercentage", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, borrowing base percentage", "label": "Line of Credit Facility, Accounts Receivable Borrowing Base Percentage", "documentation": "Line of Credit Facility, Accounts Receivable Borrowing Base Percentage" } } }, "auth_ref": [] }, "cdxs_PiperSandlerCoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "PiperSandlerCoMember", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "PSC", "label": "Piper Sandler & Co [Member]", "documentation": "Piper Sandler & Co" } } }, "auth_ref": [] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r805" ] }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationPeriodUponTerminationOfService": { "xbrltype": "durationItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationPeriodUponTerminationOfService", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award, expiration period upon termination of service", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service", "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Axis]", "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r32", "r34", "r67", "r68", "r266", "r549", "r661" ] }, "cdxs_OperatingLeaseWriteOffDueToLeaseModification": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "OperatingLeaseWriteOffDueToLeaseModification", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remeasurement due to lease modification", "negatedLabel": "Remeasurement due to lease modification", "label": "Operating Lease, Write-off Due To Lease Modification", "documentation": "Operating Lease, Write-off Due To Lease Modification" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingPolicyPolicyTextBlock", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Information", "label": "Segment Reporting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for segment reporting." } } }, "auth_ref": [ "r244", "r245", "r246", "r247", "r248", "r249", "r264", "r686" ] }, "cdxs_RSAsandRSUsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "RSAsandRSUsMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "RSAs and RSUs", "verboseLabel": "RSUs and RSAs", "label": "RSAs and RSUs [Member]", "documentation": "RSAs and RSUs [Member]" } } }, "auth_ref": [] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 }, "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "totalLabel": "Total Inventories", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r174", "r678", "r721" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement [Abstract]", "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r805" ] }, "cdxs_A2021PSUAnd2021PBOMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2021PSUAnd2021PBOMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2021 PSU And 2021 PBO", "label": "2021 PSU And 2021 PBO [Member]", "documentation": "2021 PSU And 2021 PBO" } } }, "auth_ref": [] }, "us-gaap_InventoryNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNetAbstract", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Inventory Components", "label": "Inventory, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r36", "r37", "r38", "r125", "r126", "r127", "r128" ] }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForNotesAndLoansReceivableCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: allowances", "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Financing Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on financing receivable, classified as current." } } }, "auth_ref": [ "r173", "r269", "r280" ] }, "cdxs_SaleOfStockCommissionsPercentageOfGrossSalesPrice": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockCommissionsPercentageOfGrossSalesPrice", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, commissions, percentage of gross sales price", "label": "Sale Of Stock, Commissions, Percentage Of Gross Sales Price", "documentation": "Sale Of Stock, Commissions, Percentage Of Gross Sales Price" } } }, "auth_ref": [] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r806" ] }, "us-gaap_InventoryRawMaterials": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterials", "crdr": "debit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Gross", "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r825" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock, net of issuance costs", "label": "Stock Issued During Period, Value, New Issues", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r8", "r78", "r79", "r113", "r559", "r631", "r653", "r733" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase price of common stock above minimum threshold", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent" } } }, "auth_ref": [] }, "us-gaap_OneTimeTerminationBenefitsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OneTimeTerminationBenefitsMember", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "One-time Termination Benefits", "label": "One-time Termination Benefits [Member]", "documentation": "A lump sum payment to an involuntarily terminated employee in conjunction with exit or disposal activities." } } }, "auth_ref": [ "r693", "r694", "r695", "r696" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r805" ] }, "us-gaap_SecurityDeposit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecurityDeposit", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Security deposit", "label": "Security Deposit", "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease." } } }, "auth_ref": [ "r820" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Summary of Financial Instruments Measured at Fair Value on a Recurring Basis", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r66", "r115" ] }, "cdxs_A2022PSUMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2022PSUMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2022 PSU", "label": "2022 PSU [Member]", "documentation": "2022 PSU" } } }, "auth_ref": [] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r807" ] }, "cdxs_EmployeeRelatedLiabilitiesCurrentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "EmployeeRelatedLiabilitiesCurrentMember", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee-related Liabilities, Current", "label": "Employee-related Liabilities, Current [Member]", "documentation": "Employee-related Liabilities, Current" } } }, "auth_ref": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental non-cash investing and financing activities:", "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringAndRelatedActivitiesAbstract", "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 16.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r4" ] }, "cdxs_PerformanceEnzymesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "PerformanceEnzymesMember", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Enzymes", "label": "Performance Enzymes [Member]", "documentation": "Performance Enzymes [Member]" } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r806" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r748", "r759", "r769", "r794" ] }, "cdxs_SaleOfStockValueOfSharesForIssuance": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "SaleOfStockValueOfSharesForIssuance", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of stock, value of shares for issuance", "label": "Sale Of Stock, Value Of Shares For Issuance", "documentation": "Sale Of Stock, Value Of Shares For Issuance" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Exercise of stock options", "label": "Stock Issued During Period, Value, Stock Options Exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r8", "r22", "r113" ] }, "cdxs_A2022PBOMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "A2022PBOMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2022 PBO", "label": "2022 PBO [Member]", "documentation": "2022 PBO" } } }, "auth_ref": [] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.codexis.com/role/StockbasedCompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based Compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r397", "r401", "r428", "r429", "r430", "r717" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r748", "r759", "r769", "r794" ] }, "cdxs_OperatingLeaseInterestAccretion": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "OperatingLeaseInterestAccretion", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest accretion", "label": "Operating Lease, Interest Accretion", "documentation": "Operating Lease, Interest Accretion" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock, net of issuance costs (shares)", "label": "Stock Issued During Period, Shares, New Issues", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r8", "r78", "r79", "r113", "r551", "r631", "r653" ] }, "cdxs_FinancialReceivablesPastDueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "FinancialReceivablesPastDueMember", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total over 31 Days", "label": "Financial Receivables Past Due [Member]", "documentation": "Financial Receivables Past Due" } } }, "auth_ref": [] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r808" ] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/RelatedPartyTransactionsDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product revenue", "label": "Product [Member]", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r706" ] }, "cdxs_AllowanceForCreditLossAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "AllowanceForCreditLossAdjustment", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Adjustment to the existing allowance", "label": "Allowance For Credit Loss, Adjustment", "documentation": "Allowance For Credit Loss, Adjustment" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Options", "verboseLabel": "Stock options", "label": "Employee Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "cdxs_ShareBasedCompensationArrangementBySharebasedPaymentAwardConsecutiveOfferingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ShareBasedCompensationArrangementBySharebasedPaymentAwardConsecutiveOfferingPeriod", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEmployeeStockPurchasePlanDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consecutive offering period", "label": "Share-Based Compensation Arrangement By Share-based Payment Award, Consecutive Offering Period", "documentation": "Share-Based Compensation Arrangement By Share-based Payment Award, Consecutive Offering Period" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation" ], "lang": { "en-us": { "role": { "verboseLabel": "Segment, Geographical and Other Revenue Information", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r227", "r228", "r229", "r230", "r231", "r243", "r254", "r258", "r259", "r260", "r261", "r262", "r263", "r266" ] }, "cdxs_OperatingLeaseLiabilityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "OperatingLeaseLiabilityRollForward", "presentation": [ "http://www.codexis.com/role/CommitmentandContingenciesScheduleofRightofuseAssetsandLeaseObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Lease, Liability [Roll Forward]", "label": "Operating Lease, Liability [Roll Forward]", "documentation": "Operating Lease, Liability" } } }, "auth_ref": [] }, "us-gaap_AssetImpairmentCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetImpairmentCharges", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/AssetsHeldForSaleDetails", "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset impairment charges", "label": "Asset Impairment Charges", "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill." } } }, "auth_ref": [ "r5", "r50" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating activities:", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Cost", "label": "Lease, Cost [Table Text Block]", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r910" ] }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "presentation": [ "http://www.codexis.com/role/RestructuringCharges" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Charges", "label": "Restructuring and Related Activities Disclosure [Text Block]", "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled." } } }, "auth_ref": [ "r309", "r310", "r312", "r315", "r321" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Changes in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "crdr": "credit", "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price", "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained." } } }, "auth_ref": [ "r703" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r785" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r736" ] }, "us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedProfessionalFeesCurrentAndNoncurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued professional and outside service fees", "label": "Accrued Professional Fees", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received." } } }, "auth_ref": [ "r73" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r772" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "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." } } }, "auth_ref": [ "r4" ] }, "us-gaap_AssetRetirementObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetRetirementObligation", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset retirement obligation", "label": "Asset Retirement Obligation", "documentation": "The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees." } } }, "auth_ref": [ "r307", "r308" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r736" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r106" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r741", "r752", "r762", "r787" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r785" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r750", "r758", "r768", "r785", "r793", "r797", "r805" ] }, "us-gaap_RestructuringReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringReserve", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring reserve", "label": "Restructuring Reserve", "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan." } } }, "auth_ref": [ "r312", "r317" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r750", "r758", "r768", "r785", "r793", "r797", "r805" ] }, "us-gaap_FinancingReceivablesPeriodPastDueAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivablesPeriodPastDueAxis", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Asset, Aging [Axis]", "label": "Financial Asset, Aging [Axis]", "documentation": "Information by period in which financial asset is past due or not past due." } } }, "auth_ref": [ "r131", "r283", "r691" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r740", "r751", "r761", "r786" ] }, "us-gaap_FinancingReceivablesPeriodPastDueDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivablesPeriodPastDueDomain", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Asset, Aging [Domain]", "label": "Financial Asset, Aging [Domain]", "documentation": "Period in which financial asset is past due or not past due. For past due, element name and standard label in Financial Asset, [numeric lower end] to [numeric higher end] [date measure] Past Due [Member] or Financial Asset, Greater than [low end numeric value] [date measure] Past Due [Member] or Financial Asset, Less than [high end numeric value] [date measure] Past Due [Member] formats." } } }, "auth_ref": [ "r131", "r283", "r691" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Obligation, Expected Timing of Satisfaction", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [ "r814" ] }, "us-gaap_FinancingReceivables60To89DaysPastDueMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivables60To89DaysPastDueMember", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "61-90 Days", "label": "Financial Asset, 60 to 89 Days Past Due [Member]", "documentation": "Financial asset more than 59 days past due but fewer than 90 days past due." } } }, "auth_ref": [ "r691" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r800" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r742", "r753", "r763", "r788" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r740", "r751", "r761", "r786" ] }, "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Accrued Liabilities", "documentation": "Amount of expenses incurred but not yet paid classified as other." } } }, "auth_ref": [ "r73" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "RSUs", "label": "Restricted Stock Units (RSUs) [Member]", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Basis of Presentation and Summary of Significant Accounting Policies", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r102", "r189" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r746", "r757", "r767", "r792" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r743", "r754", "r764", "r789" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average common stock shares used in computing net loss per share, diluted (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r213", "r219" ] }, "us-gaap_NonmonetaryTransactionGrossOperatingRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonmonetaryTransactionGrossOperatingRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development revenue from transactions with MAI", "label": "Nonmonetary Transaction, Gross Operating Revenue Recognized", "documentation": "The amount of gross operating revenue recognized in a nonmonetary transaction." } } }, "auth_ref": [ "r69" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r453", "r454", "r455" ] }, "cdxs_ResearchandDevelopmentRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.codexis.com/20230930", "localname": "ResearchandDevelopmentRevenueMember", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development revenue", "label": "Research and Development Revenue [Member]", "documentation": "Research and Development Revenue [Member]" } } }, "auth_ref": [] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r743", "r754", "r764", "r789" ] }, "us-gaap_FinancingReceivableBeforeAllowanceForCreditLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableBeforeAllowanceForCreditLossAbstract", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Financial assets:", "label": "Financing Receivable, before Allowance for Credit Loss [Abstract]" } } }, "auth_ref": [] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r796" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average common stock shares used in computing net loss per share, basic (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r212", "r219" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts payable", "label": "Accounts Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r14", "r721" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r744", "r755", "r765", "r790" ] }, "srt_AmericasMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "AmericasMember", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Americas", "label": "Americas [Member]" } } }, "auth_ref": [ "r930", "r931", "r932", "r933" ] }, "us-gaap_FinancingReceivables30To59DaysPastDueMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivables30To59DaysPastDueMember", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "31-60 Days", "label": "Financial Asset, 30 to 59 Days Past Due [Member]", "documentation": "Financial asset more than 29 days past due but fewer than 60 days past due." } } }, "auth_ref": [ "r691" ] }, "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]", "label": "Financing Receivable, Allowance for Credit Loss [Table]", "documentation": "Disclosure of information about allowance for credit loss on financing receivable." } } }, "auth_ref": [ "r149", "r848" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net loss", "verboseLabel": "Net loss", "terseLabel": "Net loss", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r90", "r101", "r121", "r159", "r176", "r177", "r180", "r191", "r200", "r202", "r203", "r204", "r205", "r208", "r209", "r216", "r231", "r251", "r257", "r260", "r277", "r330", "r331", "r333", "r334", "r335", "r337", "r339", "r341", "r342", "r452", "r457", "r522", "r608", "r629", "r630", "r685", "r732", "r869" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r197", "r198", "r199", "r224", "r493", "r550", "r570", "r580", "r581", "r582", "r583", "r584", "r585", "r588", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r601", "r602", "r603", "r604", "r605", "r607", "r610", "r611", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r631", "r727" ] }, "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableAllowanceForCreditLossesLineItems", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]", "label": "Financing Receivable, Allowance for Credit Loss [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r150", "r848" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r745", "r756", "r766", "r791" ] }, "us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableAllowanceForCreditLossesRollForward", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Roll Forward]", "label": "Financing Receivable, Allowance for Credit Loss [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "91 Days and over", "label": "Financial Asset, Equal to or Greater than 90 Days Past Due [Member]", "documentation": "Financial asset equal to or greater than 90 days past due." } } }, "auth_ref": [ "r691" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r803" ] }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "crdr": "debit", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total non-marketable equity securities", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "documentation": "Amount of investment in equity security without readily determinable fair value." } } }, "auth_ref": [ "r272" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r747", "r758", "r768", "r793" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "4", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "20", "Topic": "205", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "205", "SubTopic": "20", "Section": "S99", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480781/205-20-S99-3" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "310", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-7" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "310", "SubTopic": "10", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-7A" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "330", "SubTopic": "10", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(CFRR 211.02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "845", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482864/845-10-50-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "940", "SubTopic": "820", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481753/940-820-50-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205-20/tableOfContent" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "15", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482309/360-10-15-4" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.CC)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481284/470-20-25-10" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "820", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//820/tableOfContent" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "SubTopic": "210", "Topic": "954", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-7A" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(4)", "Publisher": "SEC" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(5)", "Publisher": "SEC" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(1)(i)", "Publisher": "SEC" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(1)(ii)", "Publisher": "SEC" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Subsection": "Instruction 5", "Publisher": "SEC" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(c)", "Publisher": "SEC" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "c", "Publisher": "SEC" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(4)", "Publisher": "SEC" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(5)", "Publisher": "SEC" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(c)", "Publisher": "SEC" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "44", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-20" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-21" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-8" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "410", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481999/410-20-25-4" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "410", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481850/410-20-50-1" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//420/tableOfContent" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//850/tableOfContent" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(3)(d)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-4" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480602/954-210-50-2" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r676": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r677": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16" }, "r681": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21" }, "r682": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r683": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r684": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r685": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r686": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47" }, "r687": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r688": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r689": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12" }, "r690": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "79", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-79" }, "r691": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "80", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-80" }, "r692": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r693": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r694": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r695": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r696": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r697": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r698": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r699": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r700": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r701": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r702": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r703": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r704": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r705": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r706": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r707": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r708": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r709": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r710": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r711": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r712": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r713": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r714": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r716": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r717": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r718": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r719": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r720": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r721": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r722": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r723": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r724": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r726": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r729": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r730": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r731": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r734": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r748": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r751": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r752": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r769": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r770": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r771": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r772": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r811": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r812": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10" }, "r813": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r818": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1404", "Paragraph": "(a)", "Publisher": "SEC" }, "r819": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r822": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r825": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r826": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r831": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r832": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "55", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r840": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r841": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r842": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r843": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r844": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r845": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-4" }, "r846": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r848": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r850": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r851": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r852": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r854": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482047/420-10-45-3" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r884": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r886": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r887": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r888": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r889": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r890": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479365/842-20-25-6" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" } } } ZIP 96 0001200375-23-000033-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001200375-23-000033-xbrl.zip M4$L#!!0 ( (B!8U>PM$5K01X" )R)' 1 8V1X'67?54=55U==5O__=U9@O/V/,MU_E; M1SH3.\+_'?WV__5Z__WE_KOPU37"&78"X=+#*,"F\&(%4R&88N$?KO?+>D;" MG8V"B>O->CWZU*4[?_.LIVD@R**L)'?%%[WSOJ+* TD3>Y/^4.^ILM[OZ4@D M_R@#4]>EL3'&W:?SH:$;R)2&/60,Q)YJBF)/&XN3WK"/)HHY')M8-[OF^=@P ME;$R1IIICE6D3?3A1)%40Y-,0Y]HHD0^.PU@?C!'QS_'AOFWSC0(YN>?/KV. M/?O,Q\;9D_O\"2Y\(L/MQ#>^VI;S:W'KR\O+V8MRYGI/GR1=US_1J\FMUFNP M=B-]+[G5O&#MYN2%[PU?ZO=$K:=(B^'[O2>$YHOW3) _II^, M+ZS1UO>"[1OACVLW;=%_E2+*)W)YC'R\X)=OI/[P_&%,]0SW+\ M #G&\BEXI[E!S_BQP:?HXI)2NT8C*2ND6MSNNZHL#=^907S'ZE"L]V[?&+IA MOJ[SV'!-_&KY\-\9):2H*^+B9C=T N\M'3CQQ27USVWD//VM@YW>SX<.B ]& MYNBW&0Z00![OX3]"Z_EOG4O7"4 M]![?YC H(_KM;YT OP:?*,0^C?[E7_[E MM\ *;#PBH^TEH_KM4_3'WSY%KQZ[YMOH-]-Z%OS@S<9_ZYB6/[?1V[GC.A@& M8+V>DQNQ%_UHF29VZ(]P_09TDV<9T?=?@WL\^5O'Z $N'30C;\+6^94#GWN[ MA-%YR+YV@$K_B=\Z@@6:8-*3^YV1"" A-![V?_NT]M8<'[D %6D2-?G-1D\= M(9*5OW5 OLXGUBLV>Q-D$[3&7QUT1O0/AW\P4[YOHGM,[HOPI\X#+TO+4)7#GF5UAAUJEGPE]Z,WC+M&>B)=OT MSDB2/RE2OL\3@$<#B/72^3U^QDZ([T$[6([E/,$\Z==!TF['MO5$%=[5ZQP; ML/0]6C.XY7;R '_U)\@@UR+"2&N#)BKUW P].NQDR'T1F)Z37+)ZU/&^ 1.6 MPP4$Y25OO\;A:OF'.P!UYUOGCF6#WO)"7-WHDT$";'..4:L1L9*8'[%Z?1"0 MI-P0($MD;<.5\P]7.C9B)24O8I4Z=:RDYD:L4J..E?KY(5"CCI4&^8=[=!T+ M)O4NQ'[SHD>$T+&B$3KA;(R]SL:H95BJ!1,;U@QLM+]UKF^^):,F=NSYPQ1Y M^ LX'^8=>B,FTL4+\LR5@?_NPG,7QM2"N9F/4P_[4]WG+-&WA,.#ISRJN5Q^(2UYDQ8:^*$"^):)[B62P#V<:?]$,Z)PO$. MFS78&VF<_K3NUWIX@L$U,K"?XHZ3R,>Y3^,90 *!AJ+. W#"_];QK=G<)A$" M^C?@SR2BPL+S/GOU3:(=U]\1?7_YT7@,OAMZ]#<:FCB/R4YG0CRYY.^8NM?) M;Y9)?I_ [ 7Z?IP:6KJ\_L]UMWOSX5'RI_6W4]*;R6]^@+R >(S4T^V)$OQ? M\MSRVF*8YLJM>H^$(=:O)+\G'_FT-N]T,L@,D"&*# 71S"1Q96;)E6PS(X)& MI^535"]F-L/(#ST\B@E++R:O2*XEOY-WI%-*88U2:Q@XD%(A%:=U4L1QO?.? M#U_S4TEEBTHD0MU3I,.HM#ZS?M4SB^&)GX@*CWXUX6.OH(H-*_B!R>(AF!9< MC?8YE@:H3;8U[D!?O#V2.'>DE/TO;ZM7+EXMD(BT9Z(W__8I]8,+VBS&=428 MKC-@P!EP ,*2<"JG@![@EH+"RZ8UC-0;_56ZJV@P/4.5"E;SY,_?L6."TY3 MVFNS*O2U5WQ:'_U>C39D#7:^%YS?>:X9&L&M]X"]9\O Z^"*K^[!58/QO6DX M#8]O.&D<%FS#0LX."[D\6.@<%FS#HAXWBVQ$<%RPC LY.RY*5!=2Y6&(NG#1 MS%5=JCP>TE1^U+.<2I5'79K*CYK6LM4AF(9N'!87/0KX. M"UJU\CA*0^2"N2!!8AX_!# G\LS5'R$Y#>G.YJX#O_KK5C3\?>8Z#X%K_*HZ MKVE04EZ3S)RWG9/F%Z9I$?<&V7?(,J^=2S2W F0WAO[,N; YZ7^/ V0YV+Q" M'CF XC>&\)4[A+5-36'.D6))CS)@^"C,N5&L*ET6F,6<0\68VX]G58U51'_F]M^9TTP5$9X[JEG/?Y1GU')'M5[ZU)L(SYJB6 M.#65.ZIL1Z95[J@VB%G<46T"E[BCFGF=*5[FC6B_]N:-:$^$K=U3KFUK3 M_<'CZ='2JI"H3?>5WN*/*=M9CGSNJ#6(6=U2;P"7N MJ&9;9Z02UQGNJ-9+?^ZHUD1XQAS5,J?&'56VT\[[W*MM$+.X"]P +@V8]9<9 M/QQ=CZD_8-9[9IQ=QY*N97'Q:*1;9;/I2D7B_HT(?HM?M4:::/'K4JX6+)^!+ZL";X?C*3E>.Q*YT4 MKIP_WV:XG?G; ^:B#1R""01OW&=L?['<8 JSG>,PL(R6@I"Y\ L'86UZL)[T MH %S$2@.P1KU8$T@9.Y\ V,@/%XQ+R958TVK,W.!5(Y*MK1E3;AD+G[,<70V:W!K*PZ=+U/0[=I^ #5/+0';$'W+Y8@8S-%!ARXA-@:U) MG3(7=:U:8(^(Q(9"@LD8Z$ESA,GXWTEKZYJ6;>8";EQ;UPT))J-=I\P1[43B M/$6!D(SJZL?512N7;>WD0DH<$OL@P5STZN0YTNB(52NU=4W+-G,A,:ZMZX8$ M<\&QD^=(TV)35#@O[BXNVQD&J6G-9BX>QKJJS@K#AN*!N;#8:;.C:2&IEBOI M>I9JO=%AL#8KZ9KPP%PT[+39P60DBJ$LV5,Z\5=/\06=N= ;AV"]9UCJ "%S M83\.PCH/K-10,TAG,LS((5C?Z90Z0,AD9)4A$+)U:NI43$3F(KT.2%6U9TQK.9."=HY(=;5D/+B6QT7L!1]U.KV$QDT3F0O.LG]JLBU', M!>W9E*.ZU!QS 6W6Y:@N1C$9]#WI W5U:53F8J^L9RD<][1M+9A@,A1ZVBQA M,@YXT@J[KJ6;N<@;5]BU8X+)N-=)LT0ZD8A/420<]WQE'4NW='+!)8Z)O9A@ M+H[%6=+HV%4K%79=2S=SP3&NL&O'!'-A,LZ2ID6I6G[*KJYUF[G(&.O:^HB' M;VL!!',!LA/G1]."4RW7TS4MUW*C V)MUM-U 8*YN-B)\Z/RF-0!"Y::?<$: ME$8(YB)!)9\,"][FV-RM#^-,X'L\0Y9C.4\KR>.W8]MZHGG,5Z]S; 38?+1F M<,OMY '^ZD^B'NT/":.B,?Y6S8O/3)>\)^*^)%*@5/NE!5U7"'B0N%L.8!GN MW;:TDBN' ;>FP%7K\*0F&K@./!U-&S $7":C:USC[I:0?IT2PA!P:XI!M@Y/ M ZYQCPMFNJ M$DO,YD4VWZRU[3=T3H5PEV%"$]\%Z(%K@)#>*II M.(FM1^8? -7Z1]\#7Z8ON;.14 MG\E:0UL?26$NH-]Z3M?3&T12F,M9;CVG:\I.5YD+!K>>TS7EMZILYAO#%\W0 MQL# /T(8U \<3%WSVGG&?D!>L_U7C&_0;#4,]<.U@;LV\BY\'[YA Y.O':/T MPPN7-O)]L-<(8C9 !&S _I<[#T^PYV&3WE)U_$OI*0L(%;+?5";#CAP7!R\C M2O9E9!5$Q90++84*W%XF&WO$%DI+S=OCC8O'&#>XS ?GG[ M@;Q?.$!C>Q4Q#_B/?V#;KG25D!A449D,N_9291A00_TF8LK MGC@(ZM $?>9"CODL[R]R+LN[$O/SPOL3FZ@Q)F"?N6@B4]XU$ZJ9V5@="W+! M!(>8"U'5&9(O8;^MCCWT/G,1+[ZO4B 2.BAMA6Q%5.Q8DER5F<)NI(IM)L@] M22YK3Z#/;JR(!5NQ*N@S%YYAE>IE8GW 7#R$):.[(J@/V(T_L$7T4I'>] C MHB\YJ7AZ\?3DX2>20;*TD9NS(3=HNJM?,R]*E0OFG/J$N-^0Y?T=V2'^\K;X M\=_AC21:_?:=Q*K7F;&XZ=J9AX%/[Y#*\O\ND3^]<$SR'^*+/B-[>X_NA^O@ M&"K?0L=LD#PR%Q,H$P,RQT 6###K_Y>! 85C( L&F T_M)OLS 8<^!)\-#., MV? '7X*/A8$AL\$8O@0?#0/,QH;:3?:V1(<9>X$%%[[B<055>5E(1!BV M)7YT7&[5E'$P9#;"Q#JWZCB//60V%L0TMVI*91TR&[7)8BZ0BXWQTH>-#HY4 M3NI2K3%F R)WG@LS"=Y(/8X :$[H31/FO[P]OLU7MT>_1Z>V7>]M<4]SH,YL M,()=^I>)?XW90$ F^B??*PWR#CB%EGF'4NE"H+S/G)Y"S7/4;V ME4_.2P'Y+PPCG(6TUME7//>P8=%*9E^Q;WC6/*J1F;!L-8\>.9?(L]T*>,'" M!H;&KH,-8K-QL.Z"H/;:,4.#.@_5E")=UU-261*BL^M)IQ):TJLFKZ3W1+4G MR^60EUT?N4;REG8F4V?7^]U!W@NXT\3F<0I3J]DUMUJ6YM;9]8?K8,FZVE9+ M SZS3N_%"_+,;4/R:C:WW3>,CU2@=) =^8.#D1^"9T@9XH1DX N.S##RP6,< MQ>^ 'Y,7)%>2W\D;=G&867>Z'@Y7Y*?IS'K+&V2F^NK:, M0!T;]SJS#G0:8VYH$Z @)-MI)\ ;YMSJ/+HI8DU+.<.LW_QW[ >6\[11$89V M_$ ^-E=[>41,]) # [UU,G:*YMC8@PU@*:O8*(TS5:/Q\<5M*3:8C5,PJS?N M86">15H"4GS^!%/>OW_XV5)\,!MH*94[7'\?K95;)L20CLU==J4\-FFT% =%TW)7GV+!B M+I?5P$Z6FA;UJLQVV8F>+[?-X2:/4QVB'2X<,QNG&Z G"BP19;7-E25FPV$< MAI7H4-J"(>EP\&!@!P%:HF]&W1FBOWQS/6P@O^JS]&IVU*MEHI[9(-\.S$EM M,XQ*[.PK2\R&^Q@QC*2J#:-2N<'MY,'9!_#?ZKA>)F$+7,;%"3,?[44R-0EID-4V;B3]+R^F*MY?75*S$B MVMGW7):9C>@QS[&:UBB9V6@4\QRK:]5B-N+$/,?J6L>8C2IEXM@#MFUPBW_' M#O:038IMF#/+L?S 0^0078C8:4;MTU&$V*\R&&FJ7CEK6#F:C!_L.=BV.>[=T M%6$V-, *8^I:3YCU^UEA3%TK2U.<^CHEIHXU1FV*3U__.<@Z5AJU*8Y]S>RI M:;U1&^7=U\J>6I1;4[S]HX;%JJGB*JOEC,WYOQ2$UOGW_$3LJ_H>%:Q9,'4'D WVMB[K/IL"E@%_8R& M ;VUI+,I*G/N*.U)A)PGO#S0_ .]6K-P5O1\4GV<7A&F#>85$J8^%'3=&(/G/N+CO\J".JVF?.OV5BL2G3*NTSY]4R OF:(FY]YGQ@ M=OAQE!#;HA*R_\=DNP1R&'CGY$+R<([2QWWF/.ZR^H1>P)!D6;S#CCOV#;>" MRD15*3_F]KE+8XDJ4GXTBQW,11%*8T=?E"ZGV$=SC'XQW&Y]H?Q<.I?T"O#1 MM4,T('-1B>U.#I?()X?OR'](T^IG9,.;_/2_KN]M?,4S1$[MS5V_28'@ 7/1 MAH8RI<2>XO* N+0^8"PHLCE&%8Q__$<)#5\_PS_9VZ\8- M18-US<* TI/$%8>A& :8"T1P#&2-7*VAX/W(U=JMA=SX 7-AE>8QKI:0XX"Y M^$LBR+?!E(199C,KF"T-'^N[U_"8($1V#$L[']YNT%!Z.';R?+/ M&ZR[=DP\<^##4?&%WT/D 7@QPX&G#78,F0M*1!7XI]@,;: \B3<040BFKGGM M/&.?+LG;?\5XHQSP#]?&!AA=WH7OPS=LX.>U8Q0URA>V?E)VX])&OG\[H7F) MFZ4W//CFQ9V')]CSXLZEE>)"+%&3#IF,BW!<'&;B4V1D,_'%$G7]D+F #@=1 M@4"?6IIR82[(PW%1**5/S9[2IY:F7)@,_+0'1%^.JUS*LVB9BRMQ7!12+GIV MY5):<'+(;(CL'M- \AW0X8TT_O"1L2S[%^$$ 7B\2]>VT=CUJ%^Z*':;,5:9 M"=*7;@@T\^9D)&5 M2A4:LHC'#(;Z>-0J3O%<1,JS(8GV8'*G>>:H1'<>K#: M/%O&9L^EZ&I+,5F+^F(V'LLQR0(FZ]"3&I-!Z4O7\5W;,BG.KL%8WLB NX4Y M(K)-\!"]MI0VM65 KR@*:CHCIC$9@CY9%-2T/FE,QI 90D%4A"1>]M!:-Y-[ M^-$)6]KC26,RB,R!4;_&8#(P?'1@; 7VOH2^Y6#?3SZ07O7EROGS;=;6+CH: MD[%AIJ%QXX+6^&*Y)"<2S7$86$9;P<%^:B MJLQ#HP:E7AB,#<,=G3UW2 MPR-C+,5':SI&I_,P&$LHJ&G'3.$1L9:SLUI5X7.!H9Z:LA2EX+ M0+JTMP M\K>+5NZP*2*3T;F]W/A2(?):* +-W%]41"8CA!R<;(&S+JN+R1@E!R=;X*S+ MYF0R1KH7G)<PK#,7(V8&-IFDY.M)@+.F95UB+DK-##@;Y*U?M12<3$;) M:[4YCXB\_()X81BDG@;(HH&M9S2VF4KE6>MA5 R73&X0M&0A;0,NZ]*7S.V, ML(&84M;0-N"R+GW)W)90)D1\X_JRY?J2N=V@DT%,.1+Z>TMQR=Q&4,+GW['[ MY*'YU#*^6J2%Z3A+M-^UG*>ED^??T:G=(3_X&FYXI_'MR";ULX,;-XCO:@XG MF(T.',:)M=L5\='MZU_1F]\XMC#K')? E@&P16LF6YAUJ$M@R]4?(;(?W=\] M#*N/]SA%CBXVDDG,NN09F13UA$]6EM5[F\8)9GWT)BSS9;KL"K,N>^.6^5+9 MPJR/WKAEOE2V,.N2-WR9+Y5)S+KO35CF2^4$L][\/?8#+S2"T -N7+I^<.&8 MI"J7][PA*+<.?H3''[$W X:0O:@OV,$3B['"Y\.RDE449MW^S"R[FLUM]PWC M!_R,/1)_9(I3I86'%68C 5^03=PN-+=L*+.Q? MAIZ'JZ@,4)$;HS#K];.OWV"=R9&,)Y4F-%%M/T^!3JX;KNUZY_\JTO]]GL D M>Q,TL^RW\[\2!OK"#7X1[MT9/5P_K8V9PM ]7ES_OKQ^OKQZ$BYNOPM5_ M7_[[Q2;(8E_5=PY[ MAKPG %[@SL\5>#\KC/AV>__CW_Y5&HB??P,YX? M?B#OEP":]&,RS( XQD(PQ<(?"8*$R H2P#C"II ?BE&P[RHRK=:!:,)?>C-XQ90\UC/1 M6^\-(Z^'G028"BS$>!Y$UJ@B=@5BM!VHPIDAL>MQ;1XSQH//6?1(SDYU M/D&VO]#G:JS/U9;K\\?[BYN':Z*UV5+H^C&TS:8)^;X^#Q882A3ZQ'-G0D2+ MXO\*@5O:N[+HT=#&-WCXACZ;B'&? M!'&DGJ(.Q?ZF( LUNI][]1RER__N_A_SWG]>WMWC)W)T"SG!#5Q)^#<@X##Q MJ^5W(V1?.\890XS,AN\/5Z_(".B4!7(NI"L@7_#DV2$31%"Q'L )?,*;4 M;OS89'CN!FQC##;MK*\H!UEL[UV3S_K:84^^.]C!F:IE,R\/MP,CK&W1W)T? MWPG(:05&&@941UQ/'!8:>B;B,CH:2C3,FD$((S)(U#O <\]])N]9^E/#SN@K MMM$+\G#UEF&$Y:-'SBAY-RR)@^;4=,@\HM?K>,MRZTSF@H]41M*.NZ M_BX:RI:ZXP CG8@?J.P(8!73TT+"/T//\DW+H)8Q+&_6JIS1V[PGY%A_TM\_ MOS^[/'LZ$..?"$]:%0+AQSS[F<.O2[)6CFP%#<7B(&2"+9T-U6/J" M+CWCSQ:@M%EL,FCL7 M4&'_/VL>V?8Q(N3.2%?%P>[MCV*ZYFBTR[B*Q[0@-MG< ]FQYL@6\"LVP@!T M ?P9%G3L48"C@4"Y*)&UZZ$)[:60AI;6H8#_^H+ ;;Q?.HZ262X2WP, M.R3L$\ /1P+953H7/F17%F2%NH GU]2#TAD-^N*F$#*!J/9FC'$4_L85.8AYX?DM!GX IP!_4G)/G#^"-1 M4V2;Y<((SG/-[;BN!'#P3(R6IMPA1;#.=:U\HW]X-NR7[TLH??!\L@5 ]T0W M8IZ0E>(<-*U >_X)!("?XTMD/VKC2F[U7,TN:C8-_6@%-@WM7R%C*ES:R/*,$]X\!T! M2H@C$M)TRC5XZJ3CP]ML[-H?,EFG[\$JE3[9R!VO"NDX;84R*YI=$Z_P;Y(\ MIAIP8>[THSU]@/U#X!J_NL(<><(SLD,L_(4NGQ))H1#\Z6&[*%D8=#IA"+WCKWL(&I6RG)T3MH;JTO?( W U\% M/X1%W)^Z)$$CR0(+IBB@3R]]5N$%K0^:IC71A^,I?>P*R#&%#_+*O,< $;AI M_$\" WB(W@]/DO'$+Z-E^^A(Z'"1'PBZ&+W!1&_^V1(_YMP318:9-#8YU<4((&D"VZJEN4[5@,5 M]Z&-([ZI8I\H#A#UT$9+W?/0>Q0^D!^'GV5%/HOO"J863>>:DW2N\O2,MUO/ M1,-?: [L?RQ-):R0CU OUA +E:!SE9!;)7#%4+UB E$@@WCQ@(R#% ,'BD? M087#(VMPZE\%@' O]8(_ XT"7_&2E1$$9P9$>.L2XP->!TLTH=&3\.2Y+\$T MN7P&9@BF8S/QQ')H&CG=F>GL&EM'Z*3^<><(.M2BZ.P80(>DER[U&+AL/3D) MN:Z:16=-2]24I3,M8^YCKM>>R8/R\S[4P9FDEY__61T-AKNOLG.ZJ"SU0MV_ M[^GR6/^QGXRJ/NLVZ;JFWS^K8A%&YMA\R-D2[Q+P\.1Z;RE./KV)(L6(;UKZ M^Z3#Q<4VH%@[5U8^P :?\X2YFP2?FS0#H8TL/&4=\1"96I'%M+"WHE]CLZIE M+,^K%2F%DK82>P_5DAXR64[59M03.=!6S:U-P/!5NCMPXKA-J/([):+!5^$KPD.3,DEGNNSY=,U,RY62ZQM4# M^ICJOPK51%"RE1MJ:P#%GV+;3E C? LT#!&=&@U0U1A=QCR?[#/:OB+I2!A M[H69,"RS7E.(0=N4V"V;0G5!HWFW1N".$XLQJ;;3)>+@8>&%_!,S\AL-I8,B M"QTK8B--A@ ;:IVU<@Q0-]Q6T84"4*VG2= M\TXXZYENT(M?" L]K-[P+G&! [4S&NA=#08N+0\T)D,=1?D:?B+?2QWQ;_^J MR=+PLR]D3OKH"NYRE&=;G,V4Y[I1WW'N1FO0N4*OBXS*82>.2XO(1 M-/9=.PQV/\+*D7LIK5)EWHJ9I/YP],S46QI[3[@W]C#ZU4,3F-\YLE_0F]_Y ME+>L9D7)RYGJ=&:L;K)G".O1:U+(\>AU';,E6">5,82H*$;3I[.HN"=$:0KF\?=!78SJ)FF;)[I9WVM_!,)P^%97SZL=LJ^P68[YY : M0!JP%;\I^3C;NUF;C.9?IJ=^WUW\?D5URLW/'U^N[M,B@QLFH"Q2L__] YO[ M,\ +'/(\4HAO%\'N'X7K,^';]7UQ7RS131RT2_;%S[\=%!H6@$V/_[V"6WZ']7@N\(-"(Z7\O!RZ<*##HEC MPT]TK:4;P7$;(X'V,?(/ LT!7$UQG^D1C=WJC[,['[N5':SD0MT:+BL[A7IE M12!!WCF./L/%NS6,5[EXMYW+@XSB37K/BQS./'[*-R"(;E#^2@)ZIJ_NH+7RW?"*..-N10YH6#[#??HE;'4C<1 MY16ES9)[[K$?VCS T%9XR 4MDV9I+85K+?9AJ4LTZ8IDD=*$2:J&X ]V\CO1 M8K;KAR3I$XW=,"E.)-Q;_B^NFMJ" 54\)=6D:Z! M3:*)N-YI"X-5Z7V]LS]-:3NEK]3MQ?=,>MIZ6ON$; M-HW I=X9_716^A(](#LZVAXE?*U6#2?QAY\^;>L1&T1<.[4'!0/ME+03WYAI M BY)I\JO>()".Q!^SDE%#>Q8KK>BE+@":@VC3TL!\>V71N"RWQG]@&? +)I@ ML(96=H*YYFD-AT]+\_2YYFD"+K7.Z);6(;QVHN)E\"JN 5923E3!W.6*\B6S2-]7RZ^_XU M1:MHL-FZ)1[%4SAF2=&]2U#4^"JI2BTD!:F/U@2,/6)\Q49,"XG20EZCQ1Z$ MC)'QZ\D#76'VXN$:!L9@@3,1S\I&@ O?7UU>WJE!O&NRL4(D9M6.RL090+.7 ME$7>D7.$N;D^H?]CD^OI0 */?/#V+_QJP/8E#5[RA)@ 7Z7X5QGI** M1R2=S2 _D+[QS\A>L]?7%\1,DQ>%!J#Y+X5F^'DST,/2U'9V% I]<[.=D++: M3HC\%G43"OW>$T+S1UJY_9UT\\G65$A)F@HI8FNX(164 [+1\Y'QU2%4"CQ63/:K(D*)&4%,B36EZZ5!3N[T"N MJF4AJTUZ\@C9HTCW(D3IC/HR2P@Y)6]A&=@OX@.6Z*17]HXRESFYSS97+Z)> MR[[@80.#[3*V,5_A#ESA$EK>+TCYN^?Z?APZR6L!JL0"[ [D[5SM"^14@:MA9R1W)8DE7)V2??O3 M&5NVCQ9L0V[;'U;;E@8DT^NB* MQ54LHV:M,F1;Q3ZZ ;*%R49XJ(AUNS_]HIT2LT?]TCXG&ZY@3EE113!S]:XL MEV6/9&-5@RS@4\7>'FU=!O9(<7&I*Y;F8U6+O3*M9%5G6X5_Q[Y_+B#;=E]( M"OF)6<@?RHP!)S3\YGI49BX<\[L+8UO*SL+*V1(0&92SHFQ)QT=N#K+K:L!F /*6\P&OG&?CI>M:I65CZMUB\"';L>)3"75G%(2X9V'YPB6'OPZ)R?8HVK:+BWP9JR=,./) M$0?JUIC"5Q&!P2:AY?.B0YL'&B-TLTX598:VL'EJQ'%5;@6HTBFJ-);.@9V2 M'1OQ3IABVR2,$WQ41^9O5,>"??'8%YB@Q/QWH.4WUR.](\ AO$-><#OY:OES M%VC[.]!LOC-^UQ<[HX%:[P;V@A7-LFF;@J!]D82<"%K5M1/K%9N]/['GIB!+ MZ@"*-%F2/S.$KE/*^HU"Q.59MSM#.>V/QF72PH>9(WVR]R8J75$JZ\!M9CXU MR 8^8>QETM\'8H_NWLE=36\,]DZ@XLW& 7 >["WEW/=VH80;US$.$QNR:]<5 M!X7C$CP4S"ZX=5;;'Y *L<*EB, [7LSY/W"45%- M'#5D])<-&3_\)0^@^OOW%J)O^TF4:XFA:)%/ ;"BQ5,!230:MBP!L[!&7W;J-3*PZ@';'R6S$$-.*B!VU)6ID!# M/9-VPRK#AFC)L-([(UGL]J5MM=;X\#S33@?YN>=.>J&/XUB1T!-NYY@T4'"> M!!LC'Q?(+SP)FW&/$EY0\SLA)J7X[>2GCZF@Y)23@4@74$WG^2@M!M0>]5LJ MH*3.2-&[))3R\*2 ?2MW!Z7M]G#[-A,:?G==\\6R M;6Z\'JA3$P+FQ;M*\EY5IJP*;J8>5WT>"AU2-JXKJZ<<":^!\5'7:Q+\YHG1 MY;C]RXS5U5VA+;@/.J-A:>4QN)G)(%#VN?,9@3($O=AO87RT05EUZ2IQWWR+ M93&E4:+.)-3L33IR3[\UR;>9$@?SVD5DYZVO=M5^6;'?"K*V*DGJYO+%Y>N MY,B\\D6V(/MB5RE>E>%8\M4JMR2]^^-W"XTM.TJ\(:'RA\ U?DU=&PCK_U6X MHLDY)?6&5( +IAN2I)]-)M7=-N* 49Y <"_I$6DO,<(;1;;AU/:B2<@+QA>"$Y^N/.2,D#1$C/-RT/7"BN9G/;?EB3 ML=,9?#OSN&JV=% IM.&:VF=IC_R4O(QHQQ/%BG?%B>1;GH<;Z(26Q45#[8RT M[E!GR1CANZ)'MVK+P5(_RN0<%B[!QRW;0E&ZN>M13+B3Z%2)X(YA;-3033MS MPHW?4HZ;)/+S=J#T##JC07E?F/6';#*L#>L(6A95.SXP. M99:V/$XO=]#8WJTN8N.>:H>,/6JYL+^HD?U!K:M*E6?9-=48/E7D[='QIJPL)Q\ELU8IL>S20##6(]I<".Z"B/ZX%IJ6K1=!Z-ER.#A MAC1#AO3AT**E4[N:5G@GF#U;FF5-_-UUGGH!]F8\=EQ#[/AP<5&IZRF79DPW MU&1N-Z@.BQ\?#JH^]=#D8>%X!GLQ9)9U<)0O82\U,<^8*.>0^(KG>+A0#$C] M8%EB:9>;F[PU'"0O!4RD3&]7&;;0R&U0P)@'BH\4*,XK'5IG-)"[NEI64T\> M(6X)Y+)'B/-"CFSAB?UNOWA*)(\-EY36YLYF5E0#FQY,)O$F&#IV#-HC@'1H M%R3QXT[-?8!!E$_YO?K6N6/9?^L$7HBWHV.+T9,F%JMC3S"GBX2;&V"K[01T M 5JH)=!"VDF+$PB^K9^YCQIB\(/6)78]2=X=OZ)'[C^79#JF&OA]YR7[7C[A M?/?]IB)WV'N8(@^_NQA>WWQ+:?$;?87"ZPYYM]Y#0$[6_!W9(5Z^-5X+Q84L MRN^+_Z[Q*%6-1^F,Q#-@R+:WM-WD9(X\X9F\3YAC3_#)&S\+.V=#K_O%)D)' M[5^$P=3U )F3LM#5]^A=OKX\C&^Z/CZ))]43-GJVR9^-%P!+;[5S4OZ0Z9V M[?OAYK12.J@N\33(3?%#$'$;!GX A@OHFQQC&QYE;+E)IAT%I(>1#$QW&!?> MC\\,"+8H8:B]Z2X'4U>3I*94B]H3"5AG-=7VV?L=PVA*:WA<*%IV6.6UVD.O M3<'0WE+QA3!47M/L$C%T;,^&/4.8>(:N4ZD5''TBI\DIB179P >.YM@6< ZB M%C0O)3&__9N#R(5'UR=MT\1#[5\@_)KIP)X$%B%]6D[8!N5W6G092%_03,\P MNC0S.,/ P$8?Z%U-'N: !!B4162PNLD4M.PKQ@#8]H-^5Y.R*+Z8U.DFO(!\ MDE?\@. *%,I6: M8L5EE\#8A-MBN03F?EE[, R56.80R:\^=D)$8@LBIW2\^0*&3,B-;# T+;-G M.8*!YE: #NL =1)91?N*^BQ(>@<4O78N(WKF72LE<%GZFM35%):.H38F3M(4 M,.VKZE,2F,#C[ \&7;&-YS":H6@-(YR%M!(>,'QB&=:)-8C^4$C%^C!\^&E3 M/.YQ@.!+YA7R'""'OT+EKQ&1UN):?PTQ=-!->6RCT>N/H M+EGJROIV^*D6<)5IZC8C2=A/R:NKF'B-X-04J:CJ26U8&G9$N=?MB M6=5]V,@:+M$P/E7H[3&92X >.2W16MHA(OM9EPO'+$&A'*\5(4L^!YC"(FLT+% M*5T:\^3S[^R&E^=40(4?I+/_%)!N/"FI%2N4-#!@RHO1/OIM['T:['03 F/1/<&7SZC>Q<.VX +P]<(9AB$!D4FE9 &]DX)G;\Z">* M+AHKG%@.<@R+>J[P!WKJYFSGG.,/R_(9,>/FKD^#Q^<>:<%A/>//+Y893!/I M77DNV@ [%Y>/H#&,(0QV/S)#WI/E4![KZ[JY)FI+,AFBLK&EO_(O&3Q1#];8 M,)6Q,D:::8Y5I$WTX4215$.33$.?:*+TOR1<'C\T]9;X?\*]L8?1KQZ:P 3/ MD?V"WOS.IW6R $WB :GRV9"P81<%2\9UVF-;#]?.M:VNI7*4.&CB5\OO"M>. ML1O=[(PV$=7+55%]6 @H24V)J[C #-!0ZF:*.YC\^3'SZ;EC^W MT=NYY="!TH<^KW^ J(0-6X!^+[H<:PM=.Y/5/E$8L5\??SC6)6=4EVR8+M$U M53Q3I>'.R^*9M//:>Z^5E#-1&1STVO>O*7J_.8/MJVIS!EL59=5L ]H3E6+B M/.]^HX*NVND>PV)2>I9)18J$I5;ACU,/;-,?<-_4%ZY@23.7^92"(G8SG%C> MZQ,TE#0W\)>LE#D=G*.\[PW6Q>;_M0"=,DH5+F6X^I[CI-)/+4 VMI Q' M4U$T-;H43L9)WT?ET?W#BH)DWE,LLWX,'V$C1MCF,Z@9C9@[SS5#(TAZ$ @? MWCV'NKE/,7Q_GR*6W&^>.TLKF'[U:M@AH<*%[V/X/_,1O:;L3LAB9[2= ;;G MQ.SF2+6CC%0"%9U2C3KG6/6CC%5.IRI)$,@U6DD\RG"5SDCI;V>9"A-XKX $ M+^J;30X !V\;T:M#<@1KWD?-*+VY-U)9V"[-.+=<&)0JP&"^/519I:TG]1;6 MHN=RTUJYD>N7&U)D0.N*JLP%APM.8P1G3T[<,01G (*C=C6Q<-HM%QPN.$<3 MG#VI;<<0G&%GI"M=95CO,?IZ:UHS&(JXQSY&GC&E+J@).+#=.4D0.3 V(?6/ MXI=J)00GI$']0D%JP*=6>LH[EZ/$A)0=,:'\T8LJ D/Y2*](M+F.NNTYY@EN M-+5(0!5K3!4!M)P\E3LCI:MIA9T:7HV"8:#)580^)3?UQ0(:4@NO*PK+!@(P[/^N:])J M+MA[M@SL/[AV[GX6JM@9R5VYM-;A#;52VHZGO4T$2L.31$()0XVE1 F.IR,[ M7B7"229PTM46)JQQ.&5VE4K$DP++G=[MEQ;J9,CM:88QN"MEJRWM4&K9(8A( M"K+Q=4G0J\BIS"TA9--6Z0X&/ ^EU9C:&]@O$U/DP(;4U626FJ-P3!T]'%\F MI :=D3KL#OH<4FV&U/X@>IF8(HU*Q:XJ%=YI9"^+I!G&X0.VX8]/7>$).]A# M-C42D3FS',L//%IBE4<-#[838^K^'M$61.9BC;*'2@VIO2YW%;&%IS$YN#(; MC!6!2Z?>B*KS^'2;P;7'EY&Y,PM%?2,FZ2RY&!QI[V& MV.(>)$VL5VSV_L2>FP8BA132U61)_LQAU&(8[0\G%M='*M%'LJ9R(+482!F" MB(7T49]%?712<4.2(QT(UFR.+(_6_Z#YM<$4>X4,OQ-QD'88?H;YZI]3REXO M" ONT2TAZZ'ZEAXTTXOK6^YQLPRH'?9?;D"]KW:'I:E=CB:&T;3##*Q".VE< M.[4?3[NLP9*UD\ZB=FK7 :OW2A(8[QRS*A($/-WCC!F.I)#LW#A>GEOY#J+= M&$4IG)F;BU,-\M)/%WH93J\4@IX$T.MW);'P1B"'7LN@E^&@2R'DR9V1)$E= M72DKVYI#KRW0RW(HIA#V%)*WI7T5R5QQL;UY_Y)&!=L!IR]"L$$ZD9*'8 M'2C;VI?#J1UPVC(>*T33H#,::%VESY536]&T;0]6"*N!M1].> MZ.)N-&T#1B?5(#E(3*-Z[CKKLW!Y[/ M&D;=EE)Z+W-_F5E@E6G6[8/3-F)(Z3")GQ5M&FBJ"=F5JXSH,11=X<&[!N&J M3#LOOS(BNP6ECY]NP8@W#CQ-P+T"M/**S8\EO&L9-F"983 F5N%WOD M7RA/HOL>"4>N7@,/ 64M!WEOUP&>^2!=Y/.>2T_['^R6#V@S&BVE'DEV5;CKM -'\NDB.:L!S!*0MJ,"N]]<:PPC)6]^^Z9H4)V?O@1[S9C9?^V>F:PT$,R977/ MY''6;+R^P8%@@SU>C"ZVI-.2KB]OV!6,^ M64GA!2YE7,H.B6T7D[(^C4;KV^>@N9!Q(6N]D&4-NQ>3L4$4*%?Y2L:%[ 2% M+/..0#$I&](8OJXQ+V6Q*YF,(B%LG\I0V5&)#.]8F:T"4S+=<&SC]>D6>3T? M8E.'>$HQ#V&.02*GR,-=88Q\RX@:Y5IV&&"SR#&.EBYC;5FL[K#W0+C^?I!# MWKEF72'/ 3KXR7N^$.PLEB=QN3QI[\=2RQ['UPBY:2/1.R/Q+"6)M?BZV2 ; ME(LH2W,[3$35N(H>.)*=NJ)/UM"4 J]LB.@>W]JT M_+F-WL@X]T@UOW/]3D[8>@C;BM3C?]!?L"D@&!5ZPC#1VW0-]<*P1;PTU7L!RCG=(]Q35E$)%M2;-+2#7K!3+1DG* MGNSM:G'W7ABSU/&6)MDZ2$J_J\I<4DY-4O;DKER2 J9 M#;N#88:- 2XGK9*3?7G[52/OO:A>J2,N2;05NJ+(P^TJS0Q)"O>#J_6#\Z3O MY$C>X+?N3D7Y%*"QC4=Q54?X)WEDAKPGR^E% G"NK:MG Y-3X1(%/V)YILA\N>)Y2#'L) - MXX8_D(JD_MEZ<(_L%O?F=3^MD 9IL ML&$7!7>1;/3;V(.7[F)RGL=V"4I]7!NF%:\?8#6]V1IO(ZN6J MK#XL)%1P)_";:_R:NK:)/?^OPM4?H16\,3^S#S\3A?1QYUA9T+4[1G_M"(]3 M-X1WF/[V!&"](9#IM3ML?>U(MKZ^=6M*^"'2N<>)/^C[%+$8 M+9!TTXPN@3MWO?)1S'-?-@,VC2+)!8R5&-9@R5,[[0Y99L]RHE\NT=PBS=,Y MK2):&48X"VUJ5'W%$\NP DX92IE'E\#D7=/R':VE9M!:&3?ICQ3=W$&%J0=> M]0^X;^H+5V"+@^V-YV![C[$G*&)7D$59*0DQZ\;B_@-A;.,GBG]F(,W^^9X. MT2YF;NB4I8'*#(<=<#+K():\JP!JZ_[R!=G(,;" J+O]'Z'])D@;HI_>_*6A M%4 ;M:$T>'][IOB6D4K37S2Q<$&QBD[\'K9KR=:Y^EH15]NY>C;E+.U8_3XA M6S$3(R,Q39#Z($AN5+&NG/+JM=2=E.@&-Q23O2 MP:5:$7*/;8Q\3$(AT5DE]((\,U.HC^?.%@EU*&(&<;OV_1";7T,/:'$'PW*3 MI%G2?S!-PD@_DNU>)#SMFFWH_-N_:K(D?^9LXFSB;.)LXFPZ"IN.5*6P5B)? MS>:V^X9Q9-SUQBC*%)^1-AJT5]I!AEZ)NUTG ]Q")4 JDZX7YS] /:"K]H[O,G",Y<]=.G"Q''2BJ!R]7U. ]_B.T?"O #]A[M@P< M.5OWV'"?'/J6OR,[Q'D#'I(([EA7U@I[9!R57'EP-E7;Z)(YY2&QISQ.(2*Z MJYD9=^G8=^DXFSB;.)LXFYC-9U#D([2T =24T *1 XEE(!VEEZ8L*6P!Z=@A M6T8.*2Q.*45KP=91)7Y>H:Y-_#T^9>'S"E)\7D$>-B)CAB>F\<2T\J.^^X0L MRWD%B9]7X#)TPC*TIY9N\>1.4ONJKTE=3=FV%;F8<3%KK)CE\^^SMJPM0>#( M>05=["HI L?/*W!9:Z*LY1*URE? W#)HV5UUOD]1:;61:.UUOD]19YO<5&U5ML6(K=X848 M95Z(D1=BY(483[$0H\P3&VI/;*BZ$*,4=U?4>2%&'L$^U0AV&84899$G-G 9 M.ET9JKP0HRQU1OV^UI54GH/'Q:Q%8I8OL>%XA1AE.K5^P9UFHE1G=.&,+/(5<>[%"+E&*D M%V\C5B4\---D3NV,AH4M2'XH[\A0XH=P&\&F/.NKNJ>*T YQIT4\,DM['U98 M;;N0.,<1VSCBXMX(-N4Z*9WEZ$M1<1^P)NZG4-RRS-KEO([6L0SF7;7+97*> MI:P0*T/!G99#AU?*XVSB;.)LXFPZ)IM.(B):2>WRTW:.HY,J#LZG:&"9SRD-G3WF<0D3TQG5ZF+?\842EY#?'>=IP![LVN''%NTGO&=#1/;NRBF+'F*2'+J^/9%P[#(548CV,2& ML5RVRI 84QFG$%5^1*_PLCDP6_!P5+LB< 4'!P+=ZQ9\' 0V)N@@>068YE?S MINCEGS$Y,+. /D5$]9OK 2O_8053D@H/9($_T*M?-J4V3?+DSFA;\'AO#&9Q MQ&-:C6!3KB-E.4S[^TA3/[H%1%Y)32_B,L\LF+C,-X)-^=H69;?-RY!YE1V9 M/XGP.[#)25#*]<6:1^I(E^GJG7%]2W=>]I6A]265(ZTL.)*6D%"0V M"@GM@5^%D&/.V2"C?Y!LJ9VD6TP$MDK8%22NAOB27(2Y#[,PZEPQ5WCA3 MT3NC_D#N:I+$Q8R+67O$+)]W?[S&F:K8&:FBUAUHV^M:[JT!+FM$X)HXEM:E=2FK&D\=:9_(-U?;#4UIG['CNB6I)INR*,!620PT?(>8.I M"XX;P-L#5PBF&)04"DTKH,>3'!,[T4$EAPHW3OXP!A&_UEI*C%HHF?K7\KG#M&+NARVWK6)W9 MAY^),OFX%QZH;P#M/?GL"(=T0^^2[#31HK[XC,.R)O MW9H2/&"O523OB'Q01V1.*MX0N::&R&SF1Z=3X0;^LJ?ML<+;'O.VQ[SM\<'] MA9J6H?8?R F1EW0^5@IDIO'.Q^5DINUK*%DT,TV5:69:"=O]O,5=W2)94ABJ!];5_A,['*ND;(F\?>^U?@87CH::KSS<=.PPXN,<39Q-G$V<38= MDTTG$1+EG8\9 2[W;SF;.)NJC3JRUKP4QCL:=C518RBJP5')E4=KV%1B#),Y MW2&SISN.'1&M[60%";S1HQ7NA%C+Y" G-:"[M+T;_-%*;C!+,"#YV"7Y5AI4%("*O)U9R<81D#:IE0IBN3!D>BEW7?"^VADI75'; M3O#CD0^VX55[Y(.SB:5\B,,U0)^8"'KQTG@<6EP#<#;5EB)QN (8L*< 3B&J MSCL_LW'&YD!SO)S.SWW:%X2-EI <2#RHUQHVY3I3EV-+H(0VL'V2DBQNGT#@ M0L\LFKC0-X)-N83^N#*O,R3SIY"3S'L_\[@"9Q-G$V<39U/Y_L)1>C\/Q,YH MH'=%=7OWGC=_;@>0MFS02G DL84CWOQYI?ESD1*;)3I[IUQB4U$J+K$YD*D M:G+A0W6YN%5SK*%"R#'G;?(N?_M6NKU"EJ7$YJ",$IM4&R M 2FQJ4E=32DK8YB+&14!*;.IB5TD1.-[\FX1NW9IB8QZS MKUK&-GXGU20T(TV69Z]/N$MH5EJ=8)O0C*2IKD]HPXZP'-Q 5#ZQ!J(9*<<[ MB!ZDJ7@+4?;S'-9;B,H%\AMX"]%R*DM4GM] #[%U)5%O1!>;DN!7(>0:',@^ MU5Y1>X4L4WZ#QEN(1+2)%O.N)J+#?F>D*(5EB%>O:,22R=G$V<39Q-G$V<1C MHKR)*.O Y0XN9Q-G4[5A1]8: 0X'G9$D==5!626H."RY]N!LJBB*R9SV&#*H M/4XA*'KC.CU',/3[NF',V<3:UQW"F6Q'?7>B'.E$6>10I4E>H.G7*A2K;I0I=:GA2H'4N$MFES<>E?4O=7B'+4JA2&_!&G%R&3E>&*B]4J0T[H_Y [FI2X:I>7,RX MF+$SZUQNF7J\0I6:UAFIHM8=:-OK&F_$R66MB;*62]0J+U2ID>2XOMJ5E&8L M:;P5)_]@71\LM17GOL>.J)9DVOL(8P$9Y 03S!N/BHN'T%C&$08['XD;EM*N*RG]5*JB=Z#C6CJ+27@"??&'D:_ M>F@"$SQ']@MZ\SN?ULD"--E@PRX*EHSLM,>V'L[)M9VK4?GLW&J")4?M'DW\ M:OE=X=HQ=N.^ =-(I/MR5;H?%C)-0O67R)\*WVSWQ6=(JZ7/Y\//1'%]9'^L MUX[P.'5#>(?IYQON<;LZZ_J9UE<.:>H\&)SIVF%]<-_M9JN>]0?9NMGFNZ9H M_6H&J^5IO7NPJ<-<[UR]C :6:4T^]Y&H">YPNKOUOMWZOH?%-IME459XK\V\ M))/SP)_M9%7]K)]IUK=S[(%; #X)"4P\@]V/_?,BJ:OE0.K@U)[R1UA2SD@4 M-538P4.^[.7".?WL335WB)2%0&C6R>7:=9".D0NFB^"8ZUU1+9(+QM[!%RX8 M+1:,XV1)ZE()69(-/J6SXH#'K^B1^\%UIY)6"TQ6SFB1.*V' 1B&96-ZRIXL MD,F)>X,$;.:>^VP19VK\)GP(28C'M\1YG6DMQG75-^Q7- MAO5^4;*&G8C,.O="!L:Z]EPE8V[E*7=&:E<16>I>C%S831_4NX)^)4<=\9"3Z!TZKF3'BRI O)]#(MQ;W59 M=9+-42S07CJ[#]TV[,A/#4IX$0GZ3BAY3SYR._GIXPM"]U4&747\R2UE*I&R M@5JXHBH_6,8RRO8IZLIAUJY#R!\^$L>8 W$/5X5*>M\XSID-R+: MB%J@2$Q0I(AB9[2]6M-!YAO,ODA"RF!R&1>*2$M9RFI_>[24P&A1]WB.O.#M MXYY-E98:A<7V^#,#:(4MI)J@5D0-<<^!:9#L#=X4EVQEEV2?]%9WG6O93\?# M,,P_09L^(;]PG/R^6.8**%H&;< *3I7N4;.1W?"PH.>WYQMK M2?_?@?S;"23O^1:*J'+?HJFX*E4U9T76-H+Z)/NH707:&A+ H7L>@C6;(\N+ M_ ,PQ5VRQ@K&%'E/!P9O&FRME*!J#?/5/Z>4O5X0]L(QJ>ER&5$UM]$RZ(ST MKIY219L'SEL$J%TJ-C>BWE^QAZ6MV-P0+A4K2^Z2D[B6\XRC#%#X<=,BQIOQ MGW89QC7$VC?M%](-P0WA863"P+]BTJ_,<@CQOP&3:%/?);^(:7/A."&R+V8D MAII;P6LD:4 ;;GNEW(9N$03SVM E8O#])4%GT8D[+5NKG&[M!"&R.DJG0T0 MG59^"OA&#OA&Q'Q>R=F.TKA)I,.VT-BRBQ\Y/YD#4^U$5,;WV,#6,S%'T)!F4HM3MIS20Y2&M%F$L\PI; M"=7AIHFTS_CP4Q"Z0CF2G'HJH(:C!?F$ZX+1E7L[GMOF%\'YU#^KXD\L+RB.B_ M<#(YA4W>X]O]M:)/K)OVI6'W$2N-R7%=IVG'LD\*JS)3\7@ M.=Q:7IQO"\&5=((BTA.5)4S9^^!V=4M@5L"N+A%GM':AQF/'=< EB3D)'G[& M3GA8#*/!ILZ1M/(EO(=\@:3C7H8^3!A[B5YADZ!6[>Y< MN0BC%0B'?992:_CQGJBU29[(JZ[=(U/LK6 (WLN4 ZTX]*/_K FI)U\XF$1?87 M.Z9D_@94?@ BWT[>$9\M"5%$DO+.4,2#Q]6.[C<51%#Z.=W&Q\P:HF6OWRMW MDU+GAALHQ8U?N@VX)'SN<()"ZO%V)9V1]#MN\S)@\Q;&E-(9];M*2EN/QINZ M5W0D,Q35^">ZX^W&C>YXEY9@4,R 226@'-:X:YU?6KY?DB[B(,Z-=S9S'5BK0K^%V#!P1%( M7JQ@*LS#L6T9<.<$/NT\G5I K"*%>QUSX'9R2>E/Y2BW#:N1;;I!2IT(7L:Y M1;#*HX\SX.K=TLQ*ZTLSLZ^K+UT_(%5$Z6D9,TTG[]3?*"A%7S?8T*EB ^-V MLG!/*6]2Y$85.Z.^R,]8M!8J63@^$ M_%\0^(Z7*]4]TF2'G#,6^2GCUD(IJY[-CZ5\OI5*&[>JK!QH/]U]X?33:Y.4 M_0*^2UQ!T&+'#MS"R#E\!TY5:;GLXH>#^ 9Q$S!YU WB5'AN([#?&>E2$0W/ M-X#+U/=F?$"=ACR J]UH!2!V^#.PSHG[J'C8#SS+(-8[N5[$,C]A$#]LRY!U/N:C+!1NZ3 M*NJ@,U+TKJ*74'V>C06$'WD^Z@+".+R'U$;JEW#*C[$U*MT_87N-NLR\)I% M?##%PA@_68Y#W!1W0O\PIX@YM:!\'LE5W_='"LEK;O$CM:*E05>4MY<7GO+2 M(M#U!RRA3B>HT[J:7K@_,WL[!6W3\)@4H'Y/MU=HI+%'O[]4-/L6J1J%(4W3 M)Q6W!]V!4KAV6Y-<*"Z17"+7+$Z6%O^^1!9_L3M4&E4T*QE%PH0^E;AT@&(Y=@4&:+HA.9Z=]QA'A1_<8Q4Q:ORDG\%Y".?S*/L!V8)I^8;M^J$7)9D1 MBV=BNR^"Y41X!CQF.9]3#9=XW:[1-6@P8I+2;)8B.])M7(. M8'&#TPJ/]$DO[.V 8N-3QCGHVPOZ_26N]Z)> =2S=%#BM'+:KQW#G6$A6"1@ M%@EAM4YZT^;8(NG=WS47L$%S[TI=(L=,S3\M5*^"E:H4O/;$Z!+-+<)Z3%IKFU80 M@F6Y/(XW#@, 12"\X9R^-U?IC5?I>PR9&#A7*[BYCF'S)0QNW.!_<+!+U0] MU?=9*@?*+1PN#@4MG"+R, 1Y*!ZE*MOT^43KPX[B!DDK79]B&JIR=+1F[OH6 M#9'38X;6,_[\8IG!-*'QRH/11\[%Y2-H[+MV&.Q^9(:\)\NA>Q3ZNJP8F,1! MRH:.).Y#CDR&.-SH'K7R[W2Q/S1'3[@W]C#ZU4,3&.LYLE_0F]_YM#Y#F-X& M17<18]?L1[^-/7CIVI .?&SQ<#UT?9QB8>+:MOM"S,VH0'%\*,H7D.!A$$K# MLJVH(7J\69,QB<7#<]L#S ,_&V(LD5!&[@BS*"OTJ_""3@[;D[8%+3*LX8\8'=2'X MH3$5T S$%E[F3]T71T!C]YF> L@T'C^ _]!#@6M;52OV^)*!<7WGM7 MS^BE#2T671L,ST19VWE9/)-V7GOOM9)ZUE>5@U[[_C5%4ZL9;#_K:U.LE82/ ML()@-NYLPG[Q?KU$(9V^%"\FI6>95*1[:YK6#N\_460"Z+ ,'CW'0S8\I.98 MO)^0PCA2R/I6RG3SY:4TG69RY4)5@Z"R'?G,*,&7-*_9,;=LQU;F-&&@RKS2E(ZJB2**I6E_9W6+A0-=$0?Z2;!X26 MN)W,[60V3]P.9'[BELOC:D>2K92-N=2D8&3U2W-39,9:R,D6::8Q5I$WTX4235T"33T">:*/VO+'=: MEG]6GUAL;>;*4:,:$[]:OG#M&+OAS,I@;Q*1O5P(Z>6JD'Y;".G#0DB9G]2' MGXGN^;@]UHQBTN^D3#!-,5B$;O!EC:Y!=?%0D,Z$V-J\"6?P'F,[27^C1C0B MJ<>WD]LY]FB2I+^T_M3(.+6<$)L70?PW\@H,EN*<<-H+827["K]ZUCS)L/P2 M^C VWT\LQG@@&W(+U^)W1ZF9BV_"^YDB=KH2OJ;IESXN8;'KTD=)7S%9_'P9 M+:-=^JOT.?GS"][\2^@O_D)B/O%?W=!+_NKA"?9BF:::J$M5$;W;(LFDX=BW M3 MY%ND02K44>^(9.]BY\\W,B[RA OL\03#1G[<8W?N <\M MQQ=L^(*'GF@%T] C?Y\#-0/DO5&:7SV[-MR0T+!4@@SVGU@ BJ381X1C/>4L M)4,7.([)"VBRVE#]+%0R\(R<-"T/TP@F?B9&&M$08#L'A$%E@7*GKW&L.5Y0 M--5)Y1UYZ=W40=5.KQ>\3,DG\K94IA[V0QMT&H&P2939SHB+CY^(TGWW[-KU MS;>M53(D5+J=W-/O$V_M(7K1>D@%9F:0L,H+>*L^7K9H$I=K*A@4P8N[%4V) M9Q8EX,>O/A?N5E32U8I*NB%J2_AB4=4$*S$(B.&?U0JE6V!(VG#'L35 5Q>+ M]&X$'0F""B.@!QU>7""@$<*\2'GP<\'Z*(PMUT !LM_(W?#"N)0HO ]4F"' M^\,)D"WTXM+1\RF"CQJ4"L# :(6#]R1*G+S"MB9 6,/"9&QH/K?A5FKM=,GA MU:@BN?"$'7<&7_#Q'R&.#S"3S??0L#'\&1F6*?AO#EGX86T4R)13.;&<=/1N M4M7#<\W0(%U[').NL#[MXP!T)&.FGYF#QDM^C]"&YD80)1B:CYY.89^@5+ZX%EZ@K@8).EX)(B[.H5&R&Q@=;5;>VD81=9'GZV M\$NTDL#[T!-Q\4C'@EBOGX$K)?Q'"$M89"Z!98(D*7DR4,S6+F6*RG _PH-?;-HO M/#'E!BGAD<%V>.0+\:0)"NX %Z1N2K1. @H>PMF,.(ODA.CRV\+RXT+R]<-B M*70P*4.4%UN2&2E#IW [V:#*6_1O"F6&*9\=;E.&"2#1-YZ3H_B6D0%:N[EY M!])N6',["A(LPZ=PO6%A%&+;K>WH'!37$J;HF31YP0XQ;>@ M1B(8W:"O;%!B<(7XHR:])1: ^9*H\8GGGPX="(U#4TI?4 @CX4/G]XN+N\[' M6,$NS'SB4GFAC9/DJ*?0CDS_Y*#U U@-'BU21.](&A,!"V&ZH?.P]4E MO)JX$A8):5NSE3FOVK^D H[IPJM(&9S8_ >CV*9?6C.4:5HOF8-'$KB\J(DG MF0+]"J&^C4&-I>Z/"8\T^)@,Y3#^^%,WM.&KQ*U&E#?PS#]A$:/CH\RA9%R^ M>L\+EU,B:Q .7*H%8/V*.$]6P0L'E)0M1'XT\=2_ 4$$2>S]Y\+3>\/((YTC MX*&OV%@-3T@T/"'3V6.\L[WR!:R,DMW=V< M7U:+7O,V*:6ZAW*?MNQ*5HQ5@8E7#"'N!AO+WJ+^P<%AZ@5_@JE'=GP)KX&S MP@Q8//5CAJV=#UZO<="EQDX&.I3YSW#7R1_K"3S"^ MCS.$OT3?4,=_>9T44)M1I0:&(B!X!_@;N):4MGRXSK(R!MV@('S*K:.Z"53< MN>7$8A%9^>06(I$3&QL!E5UD_C.,S'&Z7"!@/2AP$G$DQS&H&-,-M C8H$O@ MNPO@$ S/(S-!F"#+(R&OM;AE$IY_OTQ(=Q'?C%T)=[%75UPH5[#K!V#$D5;A MV//_2K.*@[<2I#XY,DO+CBS>E^LMD<9+5KN$&D1JB:Y-Z!TY0B:-[#WC1-DE M=Y,/@UX0)B'E5_*RJ"\1D!!M0,>'&TD,(;01^!2)KK%*5+FX!>D&?Z MW86#N/PX(A7$8L7C^R[ (ZG[M9QA@%[C$8+>,H)P9=_1H(Z4:0&AO,21<-=H M2CY):WE%-V'Z*8(/\+[('1X!9&SRYDV/W(H-I4;Y> )EHCGT6FKQ9=.BNU,< M=P?Y]$'3:\FGLD/PG@2A^\H<53V*YZ6]Y1C@#S47U':AT MFB<%)AXQ!))E">Q_D&!3D)B7Y)UB>1CD7@? M->47S\*'X!:!?"/Q&NA78?!H'F5MP=?.A.M)O!:2]()(9Z]/@!BW0;3=$RV= M9)6*O_M& CC4C*5N858V+.-LL6/BX ",&+HI!//$:\X3L0%H5A2L%##O*'0: M1+$C:HN35])Y1'4C8R-@W3V-GK6H & SRCZTEN(078X7^3^)C0VTQHC:&,EG M* O(;Q&$UN8:7XR]+SH$&+>!L1FYZL01C@BR=L\9"XJ&Z9F1(Y#?2P6[@,D=2)@"#8(-NTE>YY7B6U(0E!G&_NOZ79$KC7EZV(7$YO+7.)=B\A0;,,B$JT5 MPK\3>Y6@]P'LU8:M'(_+B&F4XFI-K,@(CJO7KAGC5.E'4KRHN4O?MZ=#/PG+ M%.#@%Z:6?4)4^DZ2_09Z+ZI?;!ETBI%-[CJQ8T!6P;@&S%*)1M[,A^=HRB2P M1>H>DQ"V;?W"MC5U7=J#.RU>'?L;E!S_A8-B* MU(+5O(^UR;.WINR<63J@[C%Q^$DHR72W=_A7IRI$!G5TM^7[X;LW)ZUFXM>R M1Z=]:R_HFA<<.231K-^GS(J+M?L^,UPX('G-X6A]BX*)RP7#H/[4W"6[MC00 MM7H%5&AX6$ J6]J9(C4L[4S)FW9V'T5.OWGNC!CIY$3 /V#-O0S]P(47I&@[ M>3N]:BAOIU?%+Q;NEP';@_+(HG>G?%%F7<^FRQVX*NCIR<-/B\!S3*GFZ8_= MO2_64HW&)&1N+J>]C-='T6HCQETE+,QD'F2B-'PEA4[2,DB+S2DH2)U.FZT/*D90H3222%& _ M=3+<$+YB^A\7;5 :T_M$[I\-^A6T$Q'/^GKF=B(YKE72^X0/%J[UE=T?96ZP MC:)L18,=B-D&F['ORJ;^%X_47?D1>2E7.[R4# TR3II ZQU$ MBD*I04U6M$PD3#FCS-O4Y*)@ZD$S3L-<-*0U?,O09*VC#)=/+I_UTW!;/D^A MLO@/]$_72PWNG&?!S^$U7P^J#+JGK#(?(1]ART=84EN_W_VOK5);21;\*\HV#MW[ @5C<3;GB"B MNFS/^D;;Y2A[IF,_W1 H*30M)%J/*M._?L\YF7HA\1 ($)"Q>Z==(%*9)\_[ MRJI'7U0(T2K,GNFSWN_U=E< MII3&N*5D6>_$;GF=5^I%V_'PU\,Q^C7@&+W&:*#VM59%[K6=$Y/K[+&65'A3 M5'B,7(0\H?4K<9Y(,I-D5I]3EU*/CYTGMX.P&S1&0U7O2RJ45'BC5-@_?TAW M,&R,VIJJ=7J2#"49WB@9GE\8#EL5.24E%4HJK,^I2ZFDY\^F'6I A1VUT[\, M!XQPYD:[B"#/B>R\E9SM!46Y18O:HL5Q6YJ+2:_T0"N9:K) MI6&+[O'^?OT8MN@@<@VY1NW7N(4^+%&KVD.BXM=F"A0=\7H4_GX-%'Z],>JH M>K].*1H5:2*2;JZ6;LY:/3=L5U8])XE&$LW)B.;\U3_#CA0VDFYJ<+92='., M8J:2=-/%V$BO>X4)VY)NKI9NSE]1,^PU1IJJ]:2\D71S.71S_@*A81_UM(%> MIY+'6_#]X]RIO?H7%)SU"BN:!N>O3Q@.&B-=[566I5*C7!2): FBG20%?SBL M,@5?8E(M,>GL^:UP!BHK'VH2T:X9TP=EI:=0HHRT1[:H1[>PQRTY+1R5, MZU:5L"\1K9:(=NP@WPZ(UL:>S,-!G72TF\B$^7;_(/OXK:>,LT?R.JT.>E8' MK2OTK$I$2Q#MV*&O37D6G59ULR0DEM49R\X>*.JT>I*=W0"BG3VRTFGAM(*V MVNL=;"1+3*LQI@V/':G8+#BK:^\OL:S.6';VJ46=UK"&_$RV^),M_F2)>4U; M_'6TEFSQ)ZGPMJGP%/D%':V:^0B2S"29U>?4E]7BKZ/IE[?E]KJNA)*32$YR MFYSD_&T*.UI'MBF49'CC9%@#Z=B5;0HE%=XT%9Z_36%'ZUW>EOMK.RM>!"LI M;K78WM!IL4PSJ$IZU,5E._H/"2T<'T+GWGG,1L>?F'O7RTSF$4,-?5#3DCO6LE/C#%09QBL_\G< M\)XMA\XVS K,"0/&YIU>3.BX173:"Z;$X97ZWYF7W.$SNQM[S/CCSIC"9M\9 M]JNQ]!N_9(\(YUL!:1EH6(X)D'BG#>B"^:;&'KRB8(,KMQH/\];O="XIX!MF MW@?1I^U-KV^L7Z]]IR$W1 Q;05*X(-M8^.Q=](_WIN4O;&/YSG((S/2C]^)- M F$0)"L\F8[.OTZ@U6QQB(F0IWBS^+I)7ZW($/Z=WFWVNIVU7[>:VMKO-BVK MM9K=87>O93=_UQ[(S1YGL]WV^I?6;K,7!=DC;;;7VFVS6U(AMDI;,'=7GRTP MXKA,.HU!,UP15/U">^8K?*)\@<=FOO(1)(6I?&>+@,W'S%/:+5716WI[AV:Z MMPP?/0.?0Q&I4&W;;*:<"X*#G2#XC7ED #H3!A#\:SG/I][L=?C;@>!7]X79 MRJ^6&\R89RQ8"!N3,"P'0\K]JH*171UD)'U*^CP_#//T>0OUFU^,_[B>LO!< M,YP$OF(XH*$R[\6:L/TF&.3'11R 6"<::"%W*'=X*3NL,F%>:]><.7WC;"E* MF#^DAO]*(YI7&K<BU+$7I:[VA@?3C^QV5&=,._L;8QZ:JL_E(AVQ8BF MG[^MEH[]* =JO]^5F';%F#8\?^=3O=\8]=7V4'8^O6I$.W_G4WV B-;IU*E1 MH$2TRF7G^6/L^A!D9T<=M.NDIW>ME:1@T62H23#^IRZ%!F>GPCUQJC35KN#@\=_2RJ45%B? M4Y<3AN0:]1^C5OHZ')/;7*-W4.YNZ8[U.ZD MN]L"14>\'HU?:YV_,J+=PU&!@]X59D%*PKE>PJF!K=S'>?;#]L'I#))P).&< MCG#.7TO4'J"32>U?8SZTI)SKI9SSUT:UAZBK=;6#8Y62<"3AG(YPSE^!T\'< M4[77E;J:))P+(ISS5Q1U-*K[U@X?<5Z_0H]:$\''+Q_O]VJ)4'#6*ZR!TK3S M%S1T=+)C.H.J4L=JE)DB42V%:N=/%^ZT&Z-.A7.I):;5$]/.GQ#;Z5!E9Z^= M'Z$J4>V:4.W\*9\=3#;3U)9VA:U3):JE4.W\0Y4-\M"HEFMT>S\<:5N2W*TFT"U\T=BNEIC--!4O7.%,4R):@FJZ<<. M;&P4GMWJ)@Q(-*LUFIT_J-%MUY"CR2:"LHF@K$^O;1/!;D.MT6 /9 M7=64!DF&D@SK<^K+:B+8[Z&'H)EVAQ5TH5-OE"^<%M?O%\" YX:$+8?6'T8G<+AS_)DM(&7!DF\L1PEF;@B;-_VW<2-#OH,LV@,L;&/ALW?1/]Z;EK^P MC>4[RZ$3T8_>BROGO!S9]2J7)R3@7[]_M(B583XQ)O%UTWZ:D4J M\>]ZW:;>[ZS]NM74UGZW:5FMV^SHZ[_>M.SF[]J#(VU6WVG9+6'4/=AF@7HZ M :QEWFE4M>$*>?4+-;7O;!&P^9AY2KNE*GI+;^_0L?-:@?$!& 6'A4:PT#.P MN(6<](P.[BN MN-2EU;QCBB2[6R*[+<6)QR$[O3'254V[#+*[A78K_RJP;@ZIU+LV[E!TQ.OA M 5M$;X0<3PEN[$OX[<:HJ_9Z504H+B@,(:FC3F>K4$)62!TT ZQUN%B4I=/[ MF:GDQ)/C!VZEP> VB]-8D*?^+V9&&/( "/*5!87TO;&NJ->]XKHB22'72B'; MC,/M%)*GA%YCI!V<-EV_BJ=:XW,LX5(AJ7=PM5,&UV1&]4_2X+L5E78/7VL< M]BVMU6)VZ%!M'^YDE4:?I)"Z2+Y**630&+5;:J]55371\;+"VM5DA9WPT5QN M4)(%4Z?,H(U9*[\S96:82JD\R P"?_[Z:6?'_@-H!%;PF^O['W\NF..SK69. M*\'DX2'9FJ?:9;]5ZV2;U!LCQ\VQK3T^X#D"BC5?&)8W!X)3 M)C,@1B BC]E& %IJX"I3RS&Q(2,Y@'Y=&D^L)81GS*M+3K+.1@4()['#)\5[>'LP$$D64GG4UX- M7UG0I&%XWSDAIY@A0\R.($@HO?!<,X3-"KM,F7KN/#Z"K_CA^#\,OH:?N2## ME0 V5'C]9P=]= "/3=QGX%U Z$U%(NL69"U*-4UC[#F!9R\CC"6^:\TQC]:= M*KAC^*S\L6-W/G\((N((": %(OC?Q(858"MJ"@B M@OFOXFJUVZ,]&;>1%7F2/IP%-#3SHDQ>%Z$/"".ZRD+6,0U_;_G9"E'= H7*$7 M78L/EPH0;C6)OMMO97@7?N$; 2%PZ$)=N(7GS?@X'H$@ VMF< 1=68!L!,>8Q XW=$49[PJEW MXM+[UY_L@H1[M_.6.ZSC#JOLI*VU:TZ%WYA'WB1GPC)^$!_^ZT\M9LK6120;3_-7>L*H6T+)X=-:$ M*89MNY,H<7BQS3_!TRY3F2-[S=+>589>N* YQ,)_".>A#5!_80]&,)G]:W%O M_@>>P8SO'ZZ00OR6/SL?Q?4^3G\DU_L-;[>T=,+1VVI+&]1(.E6DT$G$K,:. MK@HQ\[@W;(PZPZIZ@4O,JR/F'6*MGHEASQFO'R()OP:!QQH#5& M[5Z=.&)%EN*EJ-%;PW6\Y,B!M^'5O/ (>C:UZ2X)LZ_I'[$3'=[&O.EU*G,F MD_^UB AAL_?Q%:3N+4GD_QY=6M:'LWN.?XHP=1QK.>Q6U9BS1DV*)#)N59/K MAHQMD!)MM360V'C-V+A&=:X;,G:H1X?>/CBQ0")CC9%QG;Y<-VSLXHBQGJK5 M2E+?0B>U'VY@V'%)V9'&\5UGV/7F6NL?YB<7AC7N?NK![\KPE#WBMP-*>=#[ M_8N867BB9 A)KS=%KP>%#TY-KWU02#MJI]^2!"L)]C8)]J"HRZGI== 8==IJ M=Z!+>I7T>IOT>E@TZM0$>Q5CO"MJV%K[$=#7_\)K'7*=CD4F='S(J.L3LT$] MQ09WG*\=,Z>Y86$M%LS>+AJ# M+0JH_5129=0SBXF=8";EN*C;Q30,0H^E.[6N2[@,9D:@&/!LZ"3!9LRZ-("U M&;:]S'PA:K:98T;5VAY;N/ D[%KD:?)^DOD]FRXX!6NPY0E,SS9S?T5U9+RQI2X58G/JA:&K52GYBC$%DA<'ZGQ21 M9KI9PIEH$\MX,O!*_>_,2UCW,[L;>\SXX\Z8PF;?&?:KL?0;OV2/".=; 6D9 M:.09U>@?8^^7U0NMJB5;NZ^#EK6V8=OP? W;D&C'AHW\(>GB3!0T9L"6B#X2 MGC VD$9@X_\)S6?,/\+?O+CV"V=!@OJ1*PA.1++5%XUSA2:9:9Q+;$50'U(> M,@\/&TN3IN4KB]#S0\.A9SWF(_\#8DDQD8T$N]IJ+NX]>C&]YMJ#9FNP7WNR M:^J()C=[M9LM4,DCN@-)R_9ZL@P >JWV29KM'=Y9+26(CB[2=^MTQ!5G,VG5 MNB(_*S'0+JWW4Z?:/F*7=OSNR8Y_8<0"L.G1R O0N4"]1=WV&.1R,/.\=!RD MU)";Z[_V+=M?NVS>T6T& ,H=_GH" -JVE)B='&-E/?E#,'(':J=35:YD?#RM-5NC+2. MI"Q)63=+6;TC45:G,>JV;HJRCN@+E=0JJ96HM7\.!13KI 9JKW\9IM\M%% ] M,9\9WF1&'DD3+MUV%S3N]Y F K?1S$/3!T>2>+W&J->KJI"@1NG'$GE2R#.L MG $7C 9/(56_ 0@TT#7]O42L:T:L=NO$B#60B'4;B+6EOJ=RQ!K> F(=(V(K MD55KZT?1S;JM5MUTLUN(:N_9YD&Z-F[1M=$^0U"[V])H1$7K,CP;,@(@">\( MA'>&H':W)8/:DO!NG?".$]3NMF106U+6;5/6<8+:W98,:LN@MJ36:JGU+'8? MAK2':KM]&8:?[$HB7WCRLJ&J6ZML:+:"5&F-)V9[W!X; ],<=XS!=-B?MK7. M9*"9D^%TT-+^M]UOC [M9++6IUL]9\S5-U')_E M;;Y65XP7%,N/-5B_'MIZXP(:]?QJ^("T#MR%'=V%C\=6+!]P9;X(L8G,>*G M02R3NN/,6/(X?(%_\S ' MAH,KJM19!KM*!(#%^#K^B/%J>*:OO&D\?;_W&V_3W2I 19@R"SM;-)4/EDU[ M+'&$P[ZU>*>JLK!#'\M<%[=T#:5&>Q%&3/F M9%]B^'Z([8_@,'!L;,&Q #;D8%^0PAW.#).O8L$/<8Z-"\>",WO) CZ;A!ZU M:6\JG^!KW*%H)J0L8 TL+#55_CQVYG%,[#]2B#0J]2FQ$*=1 U)\"_L=;=XA M_H+]I)Y$8LP.7@G\>D+#EEP'#XV?69X"^AG"]14^,&#%N^@,S?IUQZ(5=^_Z M=8_'^1!=R??X2NIWL(W'^.S$J ,D$R&(FJ$R93V5I3&=3Q\5K6F,Q0+@R!FL MZ'P5>,SP0V\IL&G.@ID+:"I0R4^PSEX6X7H*U8A%Q&N;1?PD3:9 3Q,C]*,. M84B,?CB918=(D2_ /X.F G\/P=92NL;WR8R9HIXA>T2X2Y/HHR.X3@.(A M@<+C= XZ>\F;&<]J8Z.+ZVO4 MT9J=SFZ-5TKU<]&;_<'@4KKO'&NSW?;ZE]9NL\>"[(Y]C79LZW,)CL)BOU-\ MJ.&%MO.8>8PI7^"YF:]\=%!;B[N]*>V66D6[F0L%S5?X9%?(W Z>%_J?-KM4 MZWW-F<9:AYRVG-_QPD&F5]N'ZGH (W'I0%RZA<3;[]RD0>\-F10A=?E#4^;C MGZ$5+)7/#MX4FB+?;,/9!:6V!+Z$X;$:*-@+B2XHG,EMQWS^P98RW0,-ZWOJ MIETVYJFWL('3H)^?O7G(_9?A*!*'RN#0EC+5\^"0AJ.M>ZV.Q*&+P*$MU:KG MP2%=\J$+PJ'.EL+4\^!0>R<^E$M)R,2]-XQ]V"TA 4!3PQC+AKR#;MF\@\_. M"_,#FA7PV?G QL&]8W(5\K/C!UY(WSP8_@P^Q__@=R]P5_#IOQR/ ;K_Q4SX M[DG\\Y^&Y?@8OF=^/CJ W?56$PWT3CZ%(;4I]-!_=9V[+X;W!^/N\W04;-.\ MCS41>/["@FW4)2Y?,D2X AVA_U]RJ/ +-3Y!4UA57AG.F)C,:+(%!L[B&/F9 M,T.*=Z^49KZ9XNW6>O)\?'68^2L?!?)=K+4+2VTEU-=MC(:#KMKMY">UI1(: MOL/)X5^_8I!_RCPO3KS '('_*I6EW]VQ%YRQ%YCU&H.\L>#J[:)!SA*$=Z<"CV^N#;#_ 5/N0<..1_;-/X(;/6F M\@9+ZO76^R_WG^E?VONWJF)@N/O%")B]5&;,-A7;FC(XML5H( R&+0UG64M* M:,(1-XQ^(GWD)YBQ2GO,R7-:*4)L$\YR7J_KPZUO&*3HD% @K_[$27> M4VY-GAYY5A#C.04,M"XQ(BQFEY3* $LU826FD'Z@:6?%?X'C3V( &E[)4OGA MP8H(UJ70HR^&0IO@\ICYY.-A(< DD:CSE!0LZGM4[H%&&)V7!K/Y[,_?F6VO< _Q:5D.HF8&.;W.+-A61O*6)LILR6DO MHLJ)^=-_QRDLT5!PCJD;PF\-,#.6'QA 80[T"-K,)\/R_FW8X;X2;P $I\(U MXO]MHC^,W/"8W+I=M%6F T59$K M"C2Q$0"-")+B1458DTY@)&A&S^,I.+>R*-.1<>T\Q;QPH_BF.$F)\W./39B% M<]L2SWX.:"KN,@DI;U.8RQ-QMU"RGI:&V^C4'JAZ-U_(LY& [[0<"2.H2\.@ M5P<8:(U1IZ-J>H%FF\F=?34\$*9@->_!K7HUX59M'77X O4HYE:_I\BC]'WV M-VJ+)'.Y>O^@D<]50_[!Q>@07PL$%1K+SL: M11QE7OLLN7^3\)8G=E.B&?[8P;RJ.<^K8OF\*B$(DW&D]O+2; /@<.ZK4YH? M=(N=22<65GW,R>BKK?Y&E3MR,]WI.3D-W]Y[0-X&Z)O>(C%N^( MWOD!U@VDDKA!V8F4/Y/YUK,3&3HKB"!'0F\9":VOP.LR1D*O]_S7Q<>_$>J/ M8# U=S-$Z^^L!M2=2I4496-DZQ8^ASE+2%%@=:!)1*Q TTDU*[PMR@O2/'" M; +*]O Y/J@^L6$R;_MR_UG-B&9.GC1HWL_N#?=J3":H#8I:L\2JF5.YCC C M;=B70\1%*^+OQ/&EP:ZJ#'R@:WRRCFO2=&IK3>5 M/L44-B[ #;AIT%5[^#B).JRA\^GT$]OP?6MJP:_P @'DOZ'45/38.$T6FEG, M0^&Z!)N9.63 \V'?;/5)?H25"PK]2,JFP!,D?CD!*@"YR8LC+<^DN>.1*>MZ M'( Q=/+P6Q9 SR=L6=G>3JB_#CCM/ !2J_-SAD[JE)8#0L/GI5J&'_\:,9*N M#%00HH $X2(]%,N 3,LGM%8\>).O1L1D&H$ABD,!2O2>F!I5^KV8GX[_=.,F M%PF")8?%/Q^X\%)FKFWB[T'W>>;EFCY90X;Y']#F1(&DYRWQD+N#DWM9DL+2 M^.AF6OWB]7M\[Y$"GJ*M9XS[XJW;%/M%4!IT9M=!D,$^>'DINFLK525=@1"^0D!A "PTYY(TCM M;8;62E*8BN_Q1+A&@/<54(/!5;[&-;>[ #P^&\B/D@;NEBCR>7%VB#B[WK?G0/R/3H:(F"!-S5"P#!^'VDH60FR ME_"(39](W8W5I;E0=*@QP?Y1EVYQU.48&4$='>.CW4%?;74*J'B'G*#8#P^P M!)BC)>"@G4!Y/7GOW1;L2Y@ _@2%#FBU7%='\5-$]3Q38F5;9%6 ZHYU^8Z[ M[6NHF&Z(36_7, MSU\_97R18#(G&8N8=%HNK+168A6,+4DA>[MDC]'ZG:!3[@39F;KU.$*WY!$Z M]3M"KS%RW(*T]#T^.*.:D9&+:@]&KB>B= M?CX?/MO.)A#.2S+^_ U*RU8QENM24ZIQ(.WT@GK:]+I-O7^$9B;=9D??KZ'+ M&3JOX&9UV7FE_*&*"]_GEFG:E7>YVJWP/<^!JVVI<%' ^ "&"(>%QFV)L[8$ M(+EW#DP'D#G4P1;NC]OK:1?1IE]-,)#4> M@1JW=!,Y'34.@1K;ZE"_#&HL+=:+QWO6FGQ$V&RM:B=GRFK=+8U43D8^W59C MI*O=83Y-_WKF(DM\T[I;\LA/AV]:8]0MK&V38X^/B2T\F+\72RXX[3622&]+ M4<(!))*G AVKH_(%0_MI+#6R$B1"I1!*JPO/Q=F;JC[(Q\O/AV^WH <_BMRV M3+A^6X1#:LT;*$H_(8ON-$;M6JDI4BVN'J&VS'FL%*&Z=4.HBO1>CA?MFC/C M'RYV6RC+?:774WH]=YX*>SJ%CHJ7U9:6;U=:1Y^GC$!(6JR<%CMUH46J'5>[ MVF5,8"\_M7E_!7.'-:H92ERK+6X;.7QXA]_VA77X[97M\!N3Y))G^=3$;L&TX6[!M&%<7:'EE=3Z^W7F[19.(N[RB;G[G1F;F@2^V)GY MZ#Q%==8XW[:@0W$W/[^P1FBQR[!#HI6X-I!7?T?-+14KZ>D##%=>9=IGC_;;DW][.!5[=2#'> M2D23@]CV@-HN<_TDU%:@)GJC2]"5&SV+7NB;&_WWQ778,FHT-(6S^(ITM$OG MWJ; W!;W7O%XG]B&3MP$9=UYO1;UN^T.\@-'ZNC.DZYU27U'H+[N4:BOH$8] M17@:G[6AZ>\EY4G*NU7*VU+D=A3*TR7E26* M+O8H;OES7NSE1L_.#[5+C)Z='6J7&ST[)^C.%CT[*S.N7_3LK. XFR_CK*+Z,3F/4[ZOM5E6EQE7[,N([O&!/HJ2^FE/?EEXK1_'A=^ONPY>4 M)RGOV)37W]+"Y2B4UY.4)RGOYBEO2Z^;XVF<_8O2.&7T[+I?6! ]6RTKK'UQ MWH>#IVG02"[3*C=_1^OK:P:G1$PD.R[E_L6P;"K@=KWOP!7NL9P0!TO!WP\> M,RV:%?<[3OYSI],2TU+ >B[)_-9-#CKUQH=E-[YN5,V)-PYZ6\F-KQL3=.J- M:U4-U@E2(VIQ$AY.@+>F($=P<"IM,1IV4RV@5D&3!=P_/7AG,@ /H50&.GK9 M:]W& 8ZZV[+#MK92SU%W6W*PUG8F==3==JNB$X_/N[L+9@8(3C9?N)[A+=-C MA@69N+E6>TF7ITN;]O1CQK:T$5P=]+=F-#:-!8?]IX:)\]F".$@^-2U\X[3R M3;7T8S8Q<,CXZC1W_MR&@:E\0O#<6$:S+ODL[K'E\.?$D,J-L]X-WCL@_06. M"N8S2:D78]$8=?X^U'@VCS!-7P <#T>5-N- 3!HKSC[W$,>GIJ9Y6@ZG4_A+ M!41A"C7EZ*H*NBWTUOO/6U]UGB*>YDDK5O.GJSC_E= M"]>G3;VC\*7^ M=^8E)LDSNQL#=_WCSIC"9M\9]JNQ]!N_9(\(YUL!:1EHY!G9Z!]C#UY1L,%2 M2ZUOCJ*?">KW8@:L,%%$N#T>4Y^9.6R8";.K)3V;Y28:;QF_S?O+_%]FFT+0 M SOX9GC!X_2#Y0.Y&3;(^G!1=JYQOX=SC7MKO##1<.-SSH\$A #]!O2%P 6- M 5L_+OAT>IPU#U\:DTDX#_G<>),M0!^W!-,DD6KA'.6 8?@=A*B/<^%3G64< M@+_R9PAP!#&#$H1^,V=,C#N< ;QI@B_ %X0KFAJ>9:@DC^E"5IX0R\+- J&A MU(1_D2^*MC?F(Y05?P8OH-'!:P:6OQ$Y.FEIG9HL[+_E[72*AIKCZ_\,75QQ MX;D3QN#@4\^=TQ>T1RX80=J+$]C,]V&??A!#B(_RWBJ+-!!&M:0\(2$YR2A( M,W0@I)J<-%S3Z:M$7Z]>HX8:Z8:^7OU=^WK1Y-MX[#?2Q ?0+BR[H)M5OV"^ M:+]@OJA83>'+*6*]O7IX\>4+7JKO(U*/A6"6'R4#BR^$CG!*K%J MRT?&*4R'I-79Q?<::S6'6E_F^A]EL]WV?JM>%V1EK['LH897V6ILS\C<<$/& MPKX5)>>$TBDK2NJ,Y%?7Z.G>_$](*L #V$,7F.9_3MA]C$W9I%5OM7/"KP10 M$LF.B&2W,X!]?7U)I=OI-;L[[*<@2("H=M=N%M@VZ*S"!1JC-]I;.45>MODX M4IN/^^#!\+PE (3X1-DDQ?[PHEI\7&:*L*2\:Z2\"E*$![*EHZ2^6Z>^_1+T M#Y1[ ZWFR?F2\B3EU9/RJI![^D517_G)9-=4.'+]+]RYL5R[^AAPMZGO$ 1> MYWK0FX,MKH?C.$P&.P6N"]PW*_F[EJ-,,+J-,>O):I@;*+1 MUI0COZG< SR,9\I0"I"MA(8-FPBB+&0,=)O&TG^K6+[BN(%B+!8V@ ]NOYE/ M(+VH^J@=<@L#&C:\'N@1,&&=*E/[*E3BDL2^01O$2*<@LT^)DOHR^0[S/#J6 M/>6JJ;CC.?<6F:FS=M!4W'36^#I+'ZK?.\?E=1NC83,_FC0^#V4=8AXC7-E_ M7&]E\)X5A)0##^1.U[@NX^68.-\Y!]APP++6V02XRI%^14\\(=)3"74S/TNZ M"J3?BY(/O;U!8]3N-?N'8WW]ZH1*Y@)B;8<3N%YZM/U>^?W[Y Q&+U\^A)X' M_UJ3+3C(#S ]AUA/@>J:,_A O.G]"TJ*.UJ>F5YEGED)T^HBHN/'R=ZZ4& < ME*1U%0/\/L*[NJ*32S\G2^-AZ MN6,74OUE$\"N@@0A^MGYQN%9HG'CL+JQ9\5X>%19LO+*M2JWQ*-=&>D*'N7Q MI=T8#;4:HE_DHE=S>4>)Q.<2I>EN=.0P\P(]R3Z=Z* M6K(E'E\Q??0Q%:[=.YCI2EVWUDC5/2E2#0BI.E4E54E5=U=5U_$#+^3X8.%D M4O?9V[?0YU;4D=Y)*0.S*-3^X.!2#JGCUAJIMK0;KA:IM!8AU37JN)>1SEZ< MI'*(DGM 3.BR2>>DQJ&F-4;=#FB_EY&?>@:]^&;Q\*1&F*8W1CU=[;0OHPJA M(E6:(PV?)%YG[OX;:-#OU@YH)IYOS%W8[U_TP8TIVV\JY.[W"8P_I$ ,_[89 M_@,([3X%Z;5$6)K^VA0D;PWRM:5OI49^%9BWA9^?#?,ZA'D#/6\0G@7S3NV: M3B7 BR7N\/EWFGZ.&I(-RGQ!\KZLII/5=-49,.6KZWH:EK%W57V@7X3:*(M7 M);G5QD[;A]RP5%Q7069?!+D=MYIUA_30 \I<]U=UC[#%:RB,_1!Z6!9'K?)G M'F.DW#CP&':/#V:^PAPLD]TX5P(3J0QGF135&DIL[*;/M!;?3W58U[FCAO$6 M[-?R*/M@,H-K*=_^7QL,MM37QJ]XG,9YO25+:WM:OS'J%'2,YY<0E=,JAN^[ M:)[^0[@/W!\&S75Z;&Q+(MT%OMPOSBIO+)]13$;UR;FLWS7<)?JN(# M2GQU Z9H<.78F$YOO8?[GEL!_9C0Y8%J1)^9,[&8WZ2'M/ MJ?^=>0D??F9W8X\9?]P94]CL.\-^-99^XY?L$>%\*R M XT\3QK]8^S!*PHV MN'*K\639_IV^SXM.#?4=9N9$O&UFF&)X42TY&TU4*CD$8TN%U[WOL\#_O\PV M@3]\!\X$;.";X0$_^V#Y0'"&_4\X\:(T3QN LM3,>S7B[@!'&5JUJX"8*G9! MK:0:M8E8Y^M%7#$"Q8+_#S#&02N!"ZS3MHDA4\DY@S5^!LJ?(8"0><0WZ3=S M'%Q%W]/X#P"F J!ERL2SJ'^NBDL9=!?9)YK*CQ1^F@R>!LIG8EE<<"+&E2@O M.*\DJH4O6DMA/T$%,E%66)YXW&8^CISP@_@PJO(ZLR8S;)81V@$?X64HK[A1 MN/171W'K21OE"$/?TCF#Z"(1[P^D0)3MFM'3J&M&/JP3D8&J++ GB1,)=8%# M='EI_07QR(5O/*')^ H" #"1S17QFS6CT_P _L.%.& &6D.$RKY*6($_C'!U MHPK8/"O!EN+@?@+36B)JI5/7CL2^]59CU"H819952<_,PPM9W&9JR P2W%4E M[JJ%)ST[(@D]G:. @CA !T(L*%;/R[:;*5#Z>&>8,QFQZ; K^[G ^X4[F]BA MR:44& HDMICA3?@@.).],-OE&>CB%]R804$',E-5P)X!EFCS,*XYQ[:B@4?V M2/(#@5-;QU2NX[7**S E^/^\/XU_\=UIVJWF4.O+[C1'V6RWO=^JUP79[DGZ M_@POL]7-#W+A?>&>NX]9M0U; 571!>A"0?,5U>(=(5-=UZB=/?GU!MZ.':2V MG_:F0*9706[7"!B)2P?BTBW4+!4I];)IF>R@M+/G+N?13F-4V1B_KE'E8K>J M(2/UR*B1#>U.7EM2:@XB+QW)JW/XM 5)7I*\ZG/J4@'9(U)7NS'JJ.W6 MP>F@DKHD==7GU*6$UY8^%P>1%]9JJ,->5;7[5Y7^F4]IK33]<]>25KG%FFXQ MET2;31,\1S@QD^YVZL NO6KWB2*9O98:!/)],F-F:+/'*8Y*?+5L.S\!!+GF MRJR/BXE%#K1FKS.XI#AG;S;N[K#?=U:D4M%6YG,L@V+I04D M+:#C%<1%1%K:^*$^JGKGHHR?DY6QGP,IDMSD7<*LLGGF_KTCMKCL(I)*+N0W MZ@&4IZ%^8]3O#P[H]'#!_3#K()+7))!+T2Q%6V S).>9\-UO*I\= MY7]">RGJ<5ZQOMR!\TRH2MQCO"LQKT''S/C04\:A#]OP_:1$#G_E,<6T?.$; MQ*LC# M0D+\RW"H/A!VHSQ'@$W5<@5P(,5,%^1;GAE78<&F>+W5KP;6%[B\](#OV(]N M(K4:>XDF.V\^ GX7[R95:E8(IY4+)K3@[V1F<7F@4V'1_>:*IW7J5LD"I^%! M24='VE6;RJ[R&N*6.BR@4RK/!%!/D7Q3-:!1QX#HZGDY:?Z2+#_IZU"N$'&O M\L.X^/"<)60[=<+(C=:M%>-N*C'K1H9D%!0#5UEM6$Y%2>&UAM7@Z\M@Z1)* M;;1SI(WBN,1F/H'BX*'V*O++!9M@89F]O/P1]X_$ ^XG$R\$:OG-,L;8?,1B M_F$5A_O$M<0F4GOX@5I:/LS5;M=BI#T'G2% 9R?;E@/M;Z"P30ZTWQ!"D@/M M,Y41MS[0/A(O8.)-P53D1?JD@8:!;YG ^)CW@F/&IHSEAMQ(WYOTO97I/(Z8 M]BV%:)\ IQ[0O*?&D5]=9\+_*.N>:W<:HZZJ=2YC +=T?$OB.W5,^IC$1S-E M.\/+*#BYA;!U+--#;S(SL+N*' :Z=S-Q XE?NW+64OB51Z%A8S1L5U7-62,%]3*F>OYP \,6PJM5XS22I2[26I25(KZUVJ@-0T/FZK M?QG3@H]; %Y)A?)YTS6+AY7@95OCB=D>M\?&P#3''6,P'?:G;:TS&6CF9#@= MM+3_[6#Z6'V2-S:F:E 3ZT%3*9=?\<'R)[;KAQY[G&).(7-\@M(3H[D(#S@Q MX/O,\!CE*7XSEI3DE4^ZZ.B<7@'*S+P/Q&?XOFPJQO< ?G4WIJ3']/OREY?. M+UG3I)J_H."U=9E74C+;!L>6!4OELX-1:FQ-C?/,#DFU.4?>"^8(BYI(GB9, M:<"NX5&ZBVEY;!*XGJ^\P22F MJ(2%5E6%39)Y$S4[MW#O8FKI"T@OAP_U8" =+&27C*#%X'@T0$IDI-'D$48-Z.D[9:"3-JH[L;T!S_+Y_DQX\59:A/W/G<=3B8 M18:[PU(3)XK0B3*E>>(UI;^&"Y' S5'7H-1TH8I2E^+ MR_!4!H%%CK?(0P0ZLVGHC$BYS[Z#SH0CPM@*O=WS'W[A/XS67DE7E%.^MDSY MZE[1E"\N-8MD:;LFLG2;T$%2X11+TH2/?T@3P(I8$83%,^7C/Q4_!%8,?(GQ M%3RVL(T)+W] [HWDZC$0TL@ZX%MPSQ?D_I8"/A;Q"Q@.0]Z(#\9>\5V;N*P.;@0,#N127&YBZ;_%! M%8)3Q+_AZT:7C\SJ&2#E8<+VDK*P E@ 68S8!FZ)T;MC\(F%A&0U\Y+5B@&T M(E51Y&+]0$ACNE:^1"F)_WL/__N-_OWMUT?X7R$5%ZFNPF0L^6IR\7'P67R% MY\)KB^4C?W?T9THW$>#"RA>#ABIF<62]^K"R>SZUA!7/,&G6/#00$J M$8!2ZL,=O\9GE#I;5)!O:U40KJ!'FXR?!] GSZ?5$X #E07QW^VGK*P ?46< MX2OP/PL#C7K\RP_'OF5:H&BJF*__B@/:X+]SRJ:,?T[,H(:)^!O9&:*;0\H0 M(=5:?26JJ/.0?0!M&[:]5(P7P[(I81S1T_+]D*XTPRH$(EL^W@MH D(]\<,Y MON:-];:T4CALI97"UK%TPNALGUSOGTATI57#3F/45P?#OJH59$,(4',>\L:R MWG*/#^*=N 1 NO]$RC3'\@VL.'4]&29*=WF_\"R;KX]U(W0IO$@2GB=5(=$P M56R9#MQ)52C3GVC!H_N=,IQ4E-9;40J6OKPMQ7AGTNB3@IU.MS$:;)HS*:[' MB-^P'?GI7L 6PE(,+W.!W]DD]'BMQOV$^+HV;+>)RY!&#P^GY7OV\5B;QCNA M2TX9$T(UB321(A,AV6#.$+@7+R_0)<9L BNEU DR2=+ZS]\3XT38$%DK !60 MV/1)2;ST2Y,Q7/A[9!/P@8>#B*/ZP!S72KC1>%D>+_4C6YKW\52X@VW.'D9H MMMB<(,[#R4P4&Z_8XJ5ATSX)P]T?('WRHV]AM<3'<):;][*%9C-X2&/<]N3* M"7??CKU\J*NQ3.O<6"2]1IO;M.5CW7R>*AY(0R!/ZX.Q0.\CO\LG 6:0G9_" M(/389P'JTE>+K2AVKW^&VV=W; M15QL8*U898M5(??Q^[=O.\FU$I)LLU>,RSE\+_7#>/6+#),50P283'R$C:JY MYX;/,S!8EIX+I@D@<#@1YC?8UEOB-,-.1-43\Z>_,S M(7:C^ ;_ZV;9.5S_Y)T9>E0;GY#Y$,B\LQJ9N:.'L )& M4K?L8>E6Y+A 0 *<.9-=R_@X'\XSODP,6"\4>>,]@!11X#?<*L7!(OX)L)JD ML[;01R:@T\64C'S!P=\B=,&P&O7^\ S2^CD<$@ 5X8SP(D\MSP_B'YI"3 "Q MK =$9V3B8%V<6!-K 4Z(M"L3]WP_+F<%<'$N\62W$X=&J O$!7P<*Q,0@Z1/*/ M[1=M&G;7@+(VFFYWUW!3AM83'0?%#[4LVGWX.3H- U*564817GV) ^2/#5^> M';H*>C(5@9^D );,0?9X[#\R2&E[]=-+2BI=7-=ZY IF_4ZSU1W(56.X)&"5 M5BQ6R6!:HT3/0Q B8^J(:(.1$Y27 [TZR8$.UI[DR2L6!'E>521:(V'*.9+P MMVT [H;@!+&YO6';KQ-LNYME[!Z@)6=9JCG9>)GRQBN?IVJDN@= **3=1+]+ M[B,.R=CD_8(/!]^IZIL^\-S9>M=T. _;K%&FD^#13SYT7,2[X%S>J2E/"\#@\ M/7W^)XK]"GPWG@N92Z^%2GT!QM/=";Z+,=GMZ#@\^R7VP/X#44!WN'J%W)-; M\IKT5JLFUP2V5W_M-9&7!07?B[ 2/#8W@.T!4]IX9W2\<]]9.^JZ6$AY3>5W M1LY@D38A^"DE*YH6NC@P'/;"WRL26#BQHJZ 5@G\MZG\R[%Y8]F8_?X]2W^^M$]\>;9>98ITA[8?%+(]')@2)ZQV(2 M$OFB#,^VF'?Y-N13DD[#58%_\72:!B;A--[6[WP;K4H@0N" D7,F46%X1A$7 M@8DZD\A]0'+*2-O&A_*]'$_.A[II/I3#8N%$);Y36HAH-1$B.+ E7WP>:[?Y M "E^BE<<,U@T?+']-\((TX<H)L]E83(,U$P^AWQ&(SQ:?WW M?I)N' OJZ-'H/=Q=3_B*WOF$'Z5.(21OB%EP4_$2T8)=Y$_Y:/ZBT'*%*F53 MU!_.%+TGRI1$D;ZBG]#+2RHG,I.^5"9][\HRZ=N%F?2=FF32E]1ZOA7G%J]5 MAKZ1,D2F6>JG8M#!8Y12W,!DXHO3F3X[@I.08:.*EOBI( KR12L(6.Q,6DF' M()9"<1H\/P<2\I>RNS?B@BZB*2]2HQ0^FL]E-X&O/4>@&EWOX M^,C+DGAL*Z#D!;&7]%9@!SR"1WNA3>'N2.?CD2)BXL!Q9B)/>#(!VVL:V@IP M? L4?>*W&'T2HSLFKK=P/5(1^# ],U:8+ %8,S3- $\#L]X1XZ)H(Y3P(5, M2'-RD4PA:JP <2FE,"LE?I\Q$>Q-H=VS"U*93QQAL$L"S1C=H>Z8ED!O:NH( MB8,T6"YX0"TJQQ-QM-@^W!)'BT4D@/81=U*88!:GF\"V"-Q6VFV.".8F:2;\ M@0VN;RIH1TIH**N@]5N-4;?(%1WA,4]N2M!Q311E!XZCQK&MG-]H=[!U M:P(V;0O8,FDS*TIK!III%55=582QP&9AP7,;U-.=^-#GZ08N)/83>XF"*(:A MV#CM2-V5360D0I!CW:]N"$L"HXOK.V:&/5U9G'X2IV.BNPKD732AJ' ?J= ( MO1-?)18H>VX<*Q,<^]!;SDLPR5I'U9V0*@E15ZCBC/FCE:;FWE;^OU>D+H'% M/Q$4]P(*W\7I?\/#\PR;C^*L/UPD_B^A'5@+= R6%!=]?8VX"$C3VW+EZU C M<\^%]5>4F(Y7M\,J$BI*0/?'I%#$D5859Y,8(>'J! MU$^XJIA!MY558O1)"9.0 N:H>!D>GV2V<&VZ]J9RGSK=F-GN:Q&O$JN*,6N; M]))U*-D_BDJ20DGZ.PG3$S)&&@M'RC5H^&YJ_63FW5_P8!$*MALCIP #!::, M&0V0*\F^ZIC9OM$8*IG)MYX#'>P3Y#78J()Z(>F)U)'QQ\QPA+U)M8+^YZ)0 M^):;[NQQSL$%GK.+'82V3Z1;E;A80Q>QU]2PPUTFK5&!'!^:]2J:GC!A#;]I M4->-M" #$:.Y5GN'6P_O%D-4KTR!-(%3@<:,LHTW MN6'4AP#+,X0;PO6>#*_,EIS=^=,T0S-&/_H M_#':%*?&8\.1>FCW-U2ENC3FG%ZI2VISH5"4W. M['9W3,9#BTNI8RN:#T^/]G!$=\AH)+B+Q971)\6JS\):4)A!,K MVM":Q](J$('0$4T\1Z< J,%F'+>Q0#Q,K0EEUKR0YYI4"_B H@_AV+8F M/,+.YZHZ9H&35%.ZJ:HK7KI:8,6HV1ULDWQ=Y33RD.$YSO=%IC MU-^0VU-7+:4F88.!OJ?PU4IK*?I^^':D^JK2@&J?#%!MJ:+44D4YA6MCGX+- MNU]SG:*5CR*^?OH1Y''=-;^1-6X\VW8G(NGZ*>; W"%'[;3SS;,'G5I,+/^^ M+:/!\I,&4(+(0\< E2Q@O+TD/L6;^&&3>X/W'83_\-@]5JSQ9!#J?.B+N>?^ MQ4\];[>:0ZTOIYX?9;/=]GZK7A=DNU7.D[^$@2C%LS;B0PTO<]C[#ZI&^,(# M(Q_S@9&UYRTQ3>-"0?,5;>X=(7,[>%XX&F7S&)EZ7S,: 96?_:?O-=ZS&Y<;R8M24F2THV0TK J M4NJ#,MBO:NJX)"5)2C4X=2E2TEM5D=*@,6KW^A=!2J7-O949W9> ^T]1!C,- MH$IRE96UO@*]' *6<"E4X-6%34,&Z-.03K!?L.S:S2.7F)+"EOT_;"EW"CV M(:9WJ:U./E-;(M,U(5/[),BD(3(-^P.)3%>-3)V3(),.*I]:U%?X?,AT"Y[\ M[\R&#Y_5J!$8'P1FSBW'HKHWZR7GU=^). I <97$T3T)<;21T_8+4I?WLXAJ MY$*0R)1"IMY)D*F#G+;=J\I3)9&IGLBT9["M)#)U&Z.NVNT>K -*9*HU,NT9 M;RJ)3#3Q5=/K).8J%A% M#9,E_PM5,\==&*-I-7*LR&YC1?I7-E:D] "1/?L<%'<>209^\$&LCKGR"0T MN<<6-%:P_(&8FVMUT,>Y635H=8 -GGGW 6IG0HT&%MCYDCHUN?$0W4W=$,9+ MQ6>3D(_56"Y8A;T19$.$*RG;EPT19$,$V1!!-D20#1%D0P19Q"X;(DA-44@>U;2YVF@UQ@-.P>72Q^W=A246?IOJ:!SM^KRK\DL:6>V'(2 M9Z5& ;C.X?4O$IEJC4PGB>9J;:IHKLP?)[UN.ZIIOSY*9]NF6N"*6O[V-0SM M2%_;=2-+11UQ^QIV'1H>G-DBL>7$V/*F%+JT7 M*EVKJDM5#6AXARY5I3LCG1!%J.7)/77?B7LK\$MHMU0%JZE5P!B/3=QG!U;$ MN]C<%$A5'$:CQO%O;(R$R#%E5A!ZS%>55\-7_JN<7IBU[;JK./EQOK#=)6/? MF?=B35@QBGYUG1?FPV[N7PW/],D=D?X>YZ-_=8/_Q^"UT5&I1/B15PCOAN*] M!,7UQFC8S(_I5>#V;#PR-2$#X 0NG)YOC8,VJDE6RX*IU_N]U&#>56KG,%R2W #*8,FTK)+G\( M_9EK@U+@?_PSM((EKO/!\B>VZX.4RK?LPQ(N 4] ND!\=I=KY/=@+"QLG$=O MR"L#Z2LJ;G'(5ZT'Y&G%=W@>:[+#77S\R;R)!1@+R/ZXTE:C;MA4K 5]XD2G M.-AU:NY2URF6[SI%2A'QRV*%20K#UQC@-A&E97 M5[4"6T/A>U:!J?JHJEK JI>@[2[@7%P) W[,WPNZ1: 8"D>>_,7Y?),]^,)7Y&HG$%>OYGAP/X M=W&.>WZ,Z/MO>(@B(():H34+TC>V:PWK3IQ%C$[]C@Q24&]V\I$>90%<@!!G M%6]>K6!&ML_$\&> $"[8IJ:_%2XGSYT?0"&)]M/NH?:SP5(I MKQEN4:>K/T(?CY!/$XF.D+VI9OW$4EE12TJ+\@$'?EKCD"[D_MEC1!GU.]U& MH?O94;X82Y2;&LG-J66#V#24)_8LYIG"X;Y'78)1UP8Q/5>^W[4YP:' _O[Q M085_((L. ]@2.6OL)>C+$T \A4VG_.XY:[<"']]",U1#.+^GO,ZLR0Q?/C>P MH3%HVJ"4@P+ #7(5VR)/&2CX9O2!R<9!U/G8XEX-9$T!_&L1>I,9,"6B"41$ M85LAP45,!$8VA+T7PMD#:@;H'K,70\E"+P)MN8WE4$!>/J1 M+R8%H@781G?)X>"HCDE PK41&AD8IB#75+Z%GA\:J4?7K44O]&@=A@ !#&> M =6>X4+*VHO]8K8P,7_Z[[X;U'4;P?L]ANM3_-[[Z)WW>^?;]H?$VBXCP$> ,2([0 P5C8H<^7+9GAK=I(*%UA);'7&2E8$PY885 #3(&,\0@& M;/^G-0_GI46LWAGNAHK_-NPP:@;O _6@JFHXJ#"4P[].JS'J[H9^]"KJA0ZW MG&9#3>5?A",(!+Q2/P41%7$FN4W\5"P$B !\_P_02DA#];%EN^$LE3D+9J[) M,<7R 1B L^3@&#/$[ 9\C*N(WT9'\*;:9TM*Y 7^+%,?TH M]Y, 3//+$D>_P_&!#3MN %P/R-OC4"&P(MP2L.)?1$TF62[QO:2NI:G\$!A+ M[AM.B,@X20X1>AN>;0'DW.D[Y8WUECZS!)(18?N 2>0^@M^+=T=^'[QRL0S' M!WP>V^Q;O(-^&CU O+RQQ/K1-E:("J[3F$R 6NG=Q+108M'23>6CA4XV96%X MP/ 0T9+#1 ND84('? 4\")B#P+2F()+IC21PX$BIY0K>'&^<1";L*G8?X)3Z M!MOD@LA[G/[3+/ (1FKTEZE7K=2)RI]F'YCU&_F"X7CPX"L<4B#%W?%Q3WGE0E'Y>S2 M!)5UDFCL"2^MV@_)?:Z^@$ID&6&\MOQM#M!_M_XVF\J6!)62[LDU"25'L_XP MYUAK%OB2\X:?Q^8&EYDOAF73L"L4IF0&9%AMAOHYK\7KWX$/Z'OPT,ZIQ1/H M0N6%:/?DNP2]W,D+T;W9?1&7WR6R+[0;.?!PI W6#SPLD0,QB',@CC E<=OT MPQIIMQO2+K16V;P+,EP"DAI@N#P0%C\S9V(Q?U/R!2IPJ\D77;T@^2)9GEAA MY@5[)6/PMQ2\6[_,%(U'/EX1A,9OS/#9I>5G/ +KG#'#_#,T/* _GSQU@"J4 MFX7>2&:^NBY4!@ *,W+$,T'MGR&1!^W4GDW"Q5(P%Z%(_*5/+7HJ4 MX[7"YL]IL"IJL@I$+F!_#TSB3C8,EB6M2% 41GU^VI[;9ZT MCZ!@:"*3]0Q*GR7\AJ ZN'#7KK=4X*HF%&>:AW9@+4"1&(>6C7G//CG;Q*A. M'T-EX] 'L*-=8'A_B'&< -SQ4OG" CB%:P.R._2EO M&O 4?M=XVU3PMFQ$,^Y1(@N??'OB&7CZZ?<'CHF-M]'D4#][-QLTE8)KT;N] M$UT,&,_Z0-5WO1A^!1&J&@&H82VZ)EUO*=^8XX[]B1LH'SP0TNI:/%;>X#W] M]_\9P*_>PPJ_9'_]'5]"WVKOW_*HT"&@[)\(E&@G]]5A87[.%B@"F]@3>ME? M9B%'SZT!+X$5OR]8@-@1\$([2C10XK Q1JM\)?7^->]6\]>V!W?2NX,3W5V/ MZCCV)X-N2U,>9LP'*6[\P4K=X,I/,V"\.'?A[RNQ90H#P15;ABUX:(9SHD6( M=L34F%@VC[6MB#_\&ZZE$^-KS&J5F8%!#^;P&#^\,18+/'@, F!"01V*U1CF M?T(_$*G,E*_L)W20CD+2XA0R3Y(66MJP.&Z.1Y\I]]F$!;%&YI97GXR)- ,/ M^D.D^$1KK2/<(KS!WP B,/%(.HK'MT3^;),'UN!*>)#:7TVC8+F#J;GU^&V* M/U;W&%\-WTPJQUND(?1Y1)$O0LN*1/'B8Q6LYT9+#2G8,S->V'K!P),@-RH_ M*2N;W">_@?+ 6*QH$OAX>MK/*M#">/107GW5%2)DD"M T6-; M+*0@:Y1.A7E(Y%N*&-CJ;WS2G !-/!#W?W&30_Q$&1LV#][/F&U&X>JQX?RA M"-,EB2^6= 2O20.*<.:)86(7UC ^&/[LWC$_4_4/N1B^NHXH^BGK#NYI)6MR M>ZVS;!.[X19416U(%-[DI"=N]H%-TE]ID3^:M%Z/5S=Y**=@*7C%7516Y<4G MY,G5(NTE=(P0L(?QM!<,<]"_J,"7VZT<E-M@1$KE MDB!I^>0NPB\.L"5[F\M:JC)'>FTP)7MJ=U@0:4$THFA*VB0!]H%P>C \V_4S ME@:E?'F8=>FG%;^4@P50$CC_9,:#;ECEYR[H"G*>%])G&\F+N"A#%TFBRZ&F MMBW]LI=SJ!;)-/H?7C&)#E$&Z&^B@'N2,AE2]5 M^;6FU)==[K17H+\(]>72[&7DC*&]3+(:#,U./QPGE6=OWW\;/R3( '>VS,VDJ;\3OQ*>)/RD=4>3YB^E=)KE^!KT0 M_Q4OC/L4?V0?!-Q)&(!82J4,5:%!BL]P%UK_O<^U1H"/%=B<>5H$'1\Y<)3Z M3O8YUT97665LNW,XQ0!1%2[EN=X1B\HAYS8KM]0KN"4U.1_>R=/'5?&*N1[" M/[%R@9\HFS+Q8*0O3_PJOJ_\'>"K)OPI%A^[Z,[CHQO)ET(!CN\P>2)"*7@B M.MB:&XDO -V2S,'-"5U:Z 2HD,5W[C'A<4B]EA! W#GF";MCVWH6!)8D*D2_ MP]S@R<0+!>+0\G'.:G(VCG13L 3]E;_[.2LCK["4,PQZ M^I9T(/&^#_QUI57K?G&;AFPU &S_Q1).&T08<4'X*JZIK5I1Z0J!(F3* ML.HQS%D5;X@RT+$Q 6E,ZDJ^?PI!DD6+O&^\PH/R4")!*'0$4B>=)*E:(*B1 M)2]*5H_R;+EYAS&I):EP"3S@VAS&[Y.GC0M4GB/L>$8L]5< 2'&3$G^WFF1A M"UN7*-.()&%:K*WM!'PJ>4< X)A0+2*O*!F6,28I6!JA<<#=A@X:14 ]%>S( M)YU#%"($8L J(47$[)!3.8P7.Z2IQ0']+N*I22^.I$#$8W,7S044_3^%U638 M0:QSP,\S6+E&U'&;(,G-7T,BV$3I<1*X&?6#(W!87"14*%Q>15 JJ4*)60"] M.!8BWF%\LG2.'7:QAX3IQ(#E=>6)&Y2(15%\,$0HB&RI)963F>D4@X@J\ M@F02^ECQZ2W3E2^44H4EX_[48F;BZ(XY*MXXX8%1,\$PW$4PY*3=5LF05+C& M3;EXJ9>0[&:R1.@!6(3FBPN0[R8KD6/TY!><=MZF[H3B=A^:[.(I1H_/-$"/5, F!?,7HX QM.*D8 Y)!8B>SN2&L+7 MEW^YQ./X3LATN??''-N!:Q]&5B \SAAHX5L54'/!)5:Y1M>!L4?H%SAAS<+ Z. M-)7O%@;R#8>YH8_M2-+4$!>!1Q6_L-P$?91T@Z"8&)9'D"?=!3D)FQBAL/AR METOZ#_YHPA,#P@#@_U>FH#3JF);?,,_-I#6Q!5=6*Q)2:)4HU0@<'IMBDP2X M&80W-4% ,8(M700.!&C4@J(O&K$AT*8AMIY$Q0A]X5R1CMNT3$&N^:M2\1F0 MFR>^Q6Z.,([:QP>AJH1 9!92S;#BAV,L-*6\#?%:>HOE\/? #]V)12M':FB\ M'+^QB>%Y2]PUD:^_^D[^)E&MS=MRTN%M1KN)^.0J+XQ[QAD\K$)[2FY],@.) ML+U[4:Y"9##8S/KN<<^?X_<\T&M*5X?T];+QLBV=,"O:%B9G%A2M;.+04\%N MJP5SSJVYCU"D#9*Y9QNT:U_"9TBV-MMY!5EHD9_]M MC^*V?J_BJZAT=.[XH4QDR0(1OU2;L8TDNN MY*2D:J%YP4'DTP"^XB!?216P"[_U&V(PH%3#TO[;=SFK>O0/D5@0D2XUFZ=L MIH7/WD7_> _:Y\(VEN\LA^!$/WHO[E/0.V+T2J]YNF'^=8+LS19'>#$_3KQ9 M?-VDKU8ZY_/O^J"OM+2U7[>:^W[7;:]_Z:9?;MHLV$?MWG"G9;<,T]LZB?&@ M1\N.Q4A1\^F9=*XNC!#I*4UTG&$I=\I*M1CU]5_AJ15.,BP#O_/,T7@J8$UI M*!&+\@E,U*9MA345@.ZTXU]N>L#+[8QPV3)&;24#.JNGE!WDTA^",3!4]5[% M$Q&/.:JE#*LJ'OA:?U9U/\>,SL0E5Z!5'<".;GO <:F1V%LFHFTDQO0E?N1= M7,K2YP"#!FJODW>@G&6"]LVH"OBL@+X70B554AD*V3U. ZH MP\YG("IN]7URO;5!NCQ):8W18%C5\$$IU9ARRI89BG@G%2LIU1 MLATI=)JB/RQ+&JH]79JX3TPG15,X)$<=%@QXV9VDI$ [ MODYS;.I!;K<1\ MVT1,IXQ'I$ZY.@"Y<)7LW.(DFK4N@"I#73+4=?FA+EY"F K#YP-=14Z;F]'R M?\O%V66(J[;:B QQ[:"-E,RX3^DAF'O85GOMJIQ],KA5(8N**ABDMZ]VSHAH M-$!I@L,.%6JOEZ]+_CJU\L MQHN-1&4XM@I,UF+&!'M842-4>+4H_<%BHCDVG^9=\$6-.I_A%2WCB](A\9JX MI\G:?1/ :MGPI%1%[)K6"9D:ZZ?X_(G#O6R]Z;"%+7$VS,XK79_7LUBTYO-.$D[IJ&(^SX !]J)<1K=:/.'-@Y:L^.S4IL\D:# M+-/5W4B'&RGME?I(SXG+B#KAIF6ZT*@[]7%/..M1W+V<]DZ#[3;0P]K$>/6I6D\;FM/D.1%-0BEH$U#2B M\J8;@-6_ZZ.M2+BSV:-D)5P<9+LG2:$8[I(7P9,<3F.-#G?*?/A!@N\+EW=&QI%?<7\]P"S_^PC0)_H&OZ^XMP_;HP<35D<0EB>O&B6M3 M:LTAM-65M"5IZ\9I2^^6(JX\$?4:(TW6,=3EZE<2T(KMPBM/VZS"*"K.CLH+ MF.V)44.>(7TXC528HRG3?T^E_U>(1YCGJPX.S[27>%1C/"I5#K47&@VQ%$KO M2W9TS6BT3JNK#(\&K1;B46=8)W9T,Z4'WV>N%]Q1=FI*S3M.VE^OV=UA3P4C M*%"+OVLW"[)_< HL+M 8O='>;BF#D-5\VU140@8CC2IO]#7JZ+9[O,V8R:WVK-RFD>]O5'>K M]177(QXI^\%*VJK,4-F?MGK5^L\E;4G:JL&I*[3?]B>M?K4Q!4E:DK1J<.HJ MS=K]:6N M-7M'-Q6Y22T==2V*F5[I<@7GJ+]3''1?;MZ/T2WJ>]0=;_.]->; M@QT#495N>K!3HP!E34 /F$Y4LV\%,VI'PZ?-8X,:-VHR(<98^S[VQ''H\R4S MO&:FU?X%785^UJO R>(/[AS>O%1FAJE4J&#]V_ L))W=_>.M1 X,J[6C#MF+ MUJI6.!ZT%ZU:W\U!>]$;(\?-">H]/E!>Q#;2[IC&-"^K=,=";[?YN RI* M-VW8K8O$997=TXI%K7G6I .O]HYYMS87>*,9^5G/#6PNON"/5EJ2Y M"-SW'-I/$;#I2PQ@:AG) 5N#/9#4#QU GQ#8R&[LGED/A#P+*3P#D;\Q#7A\K.7=Z@K2=QJC7 MS$]T/$O>YSENY&]YRHQ,XHO1NWI@PO4OJ W9T3I[Z;*SUWKEJ@;MJXZ98UU2 MF7XP_)FR,$#3.5-_53Z4H+A;X_8N\E?3ZT>V1RH-LJ.T1[H,93(Q$"=(OU-J M>3KUW'FN5ZILGR0+Y<\[J&R@==<-*JMC0;UL2"'I[,REBWL36J\QZJB][F40 MV@Y3/_!O!*3EA :/*:3B ^(R.GJSCX9E/BX7VY-_RR:7"VNTE?S$&,/9PF#] M3XJZUJT0X MWPI(5Z&Q?MIYW H_?5M1=7971X07WS#S/H@^[6P'^[[/V)I)0%^, M(/3@O\5]^ =:/]>'_QSW>[]I[(1* QWFXB"*X1CVTK?H%X8#5V #1XI\C#@W M(E$4Q?"7K6WVKZVG_D!K]H?[N5RNP9%S5E5B-ZON_V&, +TRB(712!6EK572 M;ET& _<5[;6WAVGXS)LD-M@6DVH.B@=*U5ZJ]@=/(MRHA42*/H^S MP>IY\L M5.O_'P542VK_ ]3^=?VB9A7>1NP7V%-G+TXDFP.=D@P_A.PKK/CCE=DOC$>( M2A/A$(FPK]XQA+[L=E UJ:&,^_'JEJ4PO844-JC,FRR%67D* MZTEA=C$4AG/,2M.8AA&;EM:14NQL--:74NQ2:.R3&Y:VUG0=;EGMMO.CFJ48 M.TUKGQGS&,5#I# [!Z%1+_Z-5/;#_95],RSS'B]I;SIK8X>,5JU: ]_")#?> M.6MN.=8\C.H_%X)MGENR'>"@O4I2+"OS2M-@!V2=KG8.K_>_)-=DKO5"S_X\\)/'H_Q[]*TV(7]EB0X ME(#N&'9"R3%'$8(R,BDCDSNSFS6,IC1#P19T0W78ORCAOI)$J'4W=//97^2= M:(V]&MZL\MN=JKEJQP6>&.#\!!"79QQB&YF586&V0&P+7FKXBC]S7QWJ/$/) M; PHR A-BS+D7$PV]/F_".T,_'ALV#23VI\Q%OCOCE%T4FL0/X2>!XJ_LG"] M",;VJC!3[I3'+84GIY!O-R#%I*Q*R2J!FJ5%5K\QZJG]WL'AC?KY7FN-[+^Y MSG.Z']@1&(@T1H]+<5]!VNY)=#CJKZWJ6O?Z+$^.'<.:DQ]WR6[0CZ1)*DW2 M.C*=TJQF> 4FZ:;^LM=ID<:U@*M5@)L[ Q85BAV)#FC%HMX:NJGA391SZL++O-Y7O8H7TKPR/*0L/"-F#_2.=*[P;)7P&+X CA%,@ MW1 +T?#%M *L%&W@V6-K%\+=F.R%V>X"'\&]).NA %QX+CK2T3$ :T^ 1@T+ M@1R:( R;Z8O#4CJ @U_\6C\<_X=- @6 %-73$2]Q^B3UYDUF<$N MEHK'_@PM+XZ)XN:B#636F#+<"O9O#:PY;AH?=.<+FT7&>/%E^.E=\<:;Q$OQ MFI@/:QD!BRL!X4\6[@3Q_+L05PZ-PM1,[I.47;@"_LU#=2]E8 M&23VTUBD?JR7E1_L(O:;/LDS&Z*"(3*"H47HNU$=FQ3'J0-G12ZFUKI81:=6(_E/4=M37* M%QY4%1N2S$(RANQ)@XI43ZP<1"O%B[0K?E? MY6BNEZ&Y;BY5'V#Q..7[C[;_Q?B)\N]7U_/('?Q@+.";7:.7O80H.R#S6LUU M"?IPCS;\I9(1:9@O")OD^/?B@^3TY/-%U_.+:[]0V!_[WZ.#ET/_3>,I_NHW M\14_6&-/V/7/"#ML-;P-=!R_@%R,R82[TSTV8=8+N;''T1:4L<'C5R5GE>B] M0?K\>K;>L>#L]V(73_$F8C#\BLU@^= 2XYD5S2UI]QJC0?Z\?\.-,V"C%IZI MX)P\I$1\%V\X,/Y@BND9KS2>$4DTIB.,,5!8"+Z(.O*)1I0:-:+4FPHP@B^& M-YF)OI2O?"R3Y5#^+*ZV0ND;*/R00%,]>/IO[-FPE6\86V0H]BXPZHL!RC$# M%HZ,@7BY8M.I.'K%L5X7@UF&MRR(]JJI:)3E8&31$G'610(9))T)H "1F_@A M?(]OF8BGT4%D8^P+&YK"3Q>@)&"D:XH17/(7J0J;+VQWR3"$:8M0%_Y4Q-=L MPYK[3< VP#K;1AIPGQV !S!%V_5]T9CVF3F3I;)K3OC40J<5QM?\ #[@'OC7 M&7,4P'(+S^".B9T8<7X5#M[T :KX#,^A,VF7^#X>UHNBL7Q7A"@R,UY8]D1-Y9\4P<[L D/DN .$O(?S5N"L MEHTO7M)W\%H;[L-<(7W9_'E+\V?M0IH_EV[S7 \^_AGV-'>L*9@DV8*]BV'C MG+B2K(X,ZXO94I0J,S4L3WDQ[)#Q%M++3.[ *W:"]L'@ IU0J @6_$UR&Q]7 MGD/#,X <&+$G8@U10DLJT8 $/\ ?>*KK@9#@_V11"@XF"X &9@3P)><[B%.X MAI6]#9YEX>/62/WP0] ^DL^X#K)X 81 M,J2,UJQCV0;N5W 3^'M M?A"?!1:-\F8L#X29@>(HDC&H4\VY*KO"TU>V3PDZR!-M:VY%+!W4-"]D=!]_ M.%BEM'IF!#@3<2@];>4C$Z#T> MQ+ ?#,];PD?_1IPJ+-78.'BXW2\#EO:_/1S< M7#L&4U59@&&">7C(&'CV);QN(58VU_-!?P;2T\^QPGXKS0I; MJ\3QV7D!?HM;?7QUF/DK+QW]+M;:Q9>1XG^8Q:YV!WVUU^5\^#TMG"C$\\.]GY!V05[HY.P['C5QVW1: M<-0"MXTB/#9-Y8O75+Y:&%WA8R]P?3#NO@$(+,1F$GX/'Q^%;7$?/H<@M-$[ M :AB^Z[R'Q>PT$18H6M,Z[\'6\PU0((# $TXPH14#BN%F)@ '!4[V<)E@:^V M '1H!J%B1:9H=.PB3/YBH(\#5HI4"LH+AKT^@? AETD>N3,^4OP[?B3RZA6A M-8@U HJ9)'B& KKKRC=],$UV4[=K,@^Q-= M<+A QUX_<[[H^Q[1YZ%>E; ,'O: 8[*&,\@AR,@U)6 368.[.1Y21K('%51 MIGSX"N3HVD M'O(QYORUQ!WA(C^! 8&V1-2)S JT&"&[N')-JZ)B;7);'5T- MZR@>\>G7'-USM$ ;@)1ZDQR:9N3?<\>()J@P)5)6X4GWF%,.:BG*&1_DC<=K MYTD;1VPD=8H4K40%IGQY4&&CO''NUGCZ;V.^>/\ASE"/$3R-O?A@!LD5DV?G M$Q0L#\CX3S MD(I@8]S?6(0':VM13BC4SHF?$:(@3#>RJ=CK)/#I55AKW#E, M[AD,&>3N!3UZRCV@B(VWH*E908KN] 152XM5/2-Q>L>4JQV>X=-JX?^=5JZV M3RU70=%M-7MKY2JA0BV)"5 MF3A&>48G?\4J>%?XB)K@AYQJ"/59H?\;[^S]%%+XNR62/M7UP%0L,#P MTMZ&?WJN[\?5P@+@3_$>2N-Q=[/]44\>B1A0$MA;0O.G 38V#&OJZX$-6.A% MUA&>,5W#Z?&W[T!/Y]3%2M$R$"$<%^OX0/NREYRR7P\AJ4$=;KF/JL>&6]X# M>X=U.-< SY7/#D]C+QA_9C@I@ZR'(4S*8"KB_[$0SHG?6K&S#?(=)'DSOWTE M[_7N39UAMHFCA(@JUY.J+=DCW:M24]:OGQ[J<- MD"@V,08!#HYNM7_]FUE5N$B0!$B0!,"*F)$EXJK*.[/RT ^/TI\07-O"]VK5 M\/TC>4)!^I70=F[NT[:PO3Y>MZOT\7K8GK]3EGXAWI-O+N<8PJ'4S#H@<*:3 M/KJ,UP!Y>\7SV;<+5J16KC)?@<(7,'*FK^S/=3@,UHO-&TTW%8\5.##RZ&G5 M><*..F_ B; MIE.RTZWF!D+_,P*8)Y9' MF,0P,D@9! M\V" V&BZIAQG_@+P,'J;B/?,<86<397T@KBW2)RS1R^\V$$^2( X8VMA.=/K MS!-(5\DJV7M[5YCH*]D@HEGJ2_:%\'=O0:1KS&EYR^SE-,! %T.^\[N9,3TO M^&JOP"!L.D:97J( 15D0TOQK4PIIJSY^B(W"QP:21J"!_%C=MXS0#FGFT;\\ M'V/]G*M2*<1?37L58?@1$,X;S[A/#F8&?8YEDN61@"=K/MNP2_IDCG0*5K!9 MDF'*38$@X\4+TRE-('Y"'P88GB>J4>I2F^7\>CU0UXA)'9,/UZ&MOZ MW:5YO8\8RVJ="/C99,?4M K&XN?,TMP.X%>>ZF81EGH?.X2-U!#',G"^)C)I M7PM'W6#A^.2<)DXB:1,!R],*N2$0RU+6@,VDMD@F%Y^F[3_38UR92PJ4.I1U M4^.%94%@MB13&O2#_#"1R@:T/C(RA98?(:7!*UB/J^QGS&?3=N(44YIC09N@ MD4SJ?):W6:I_^N\D.2\.;/\4)VN\CY,U,E++)T^8%N6\0FI5)*_"E-P4I9Q>$@6!.;E\KQG$Q?9$D';=RYLKJ1D4D*7ILT2S MV(M,;)#4]/@V9ZFXK/4;Y4VD3!KH6WC8TXV8*)1GD9/ "VZ?@9?.F<2/@Q$2 M;[:(:$CY#05@D-2VQ%A(=6K!65LNOB*J*;974Z@MJ*9@L:ZB")A6.0(VG1,K MB=BJK0:6' M/)GY);3U9N;(E>;X3\C,8Z>TZ".%YG?2_E:,ZJ!G]/=K0[BU86"_-Q@/VM+= M4"Q6++9]BQWVRRWV4CMR?J-GN:P[HO1A0_Y.B:Z)%PT@-0>@0X?CU-3*OIE] M)XUR?6+7ST0.&;!33TO/CL.\\-A!0/W(4"_=W5=(#2$U&@AS(36:(36ZU8FY M>-=QJOKM7O15NO'?7O2UHTNF6*%88<=76--,4-8(5FN,*"KNB?HEGS1]R#3( MKK6^+=IB=QK<#M7MW::YCOK9]Q;88P9?^8<=SA^B /9'_ _?>9NY>YJ!0JQO MYO>J;:8'^M7=0-;&31I-6I/3(OBFLWRS8YCFP7Q3T)TIPS(#;,I@J(KZ3C"- M8)JV,(UJ],^O;89"VPC&:<#>*FD;_?Q\,[JZ4PVYKZ]7E0K&$8S35,;9,4SG MR&::(,LUH\QA'".@&.:O&Q!?EUCOP:$$LTL*>^.A+4 M*:ASE3J/$8"L2)UC\+$46='7)VT(\KQT\CQ_K&G4KRD$(*BS<]1Y_@#52 'J MU&5]U ['YQ*J A]H S3:%W:M7=Q!E8)-J<,2[Q#OJ/R.BZK&0Q& /1J7VZOR MJFC9SNO2'3%$!.GGV2^>9P7WKO7(A[0^>D[)&309E:E>W:FRJH\;E)AV!K.M M\P2U(^Q7EJ"V)@B/M XG" MJ*A_%JU$\Z4(\70)![0B\U4A0 XS^CHRZPFN" MH)I)4#M"9?7HNZ'0=Y=!33M"6S6*IU'SQ-.IPU29+M_\%3=X_ZVBGF/4P?;J MD:-,\ACV!B565=!:'^.4-UJOH.$VSCW %US=72MO5YK$BQ2X/7)X&#T M[]/ MJ>$#BVM6YGD#LW5J./$3:96-IJF=F3=UTM3XZDZ7M<.3' 1--9JF=J;3U$A3 M1O_J3E'E 78<%T358:+:F053)U$IF.D]$E52':>IG:DK==*4"H)*DXV!*!?N M-E'MS#BIDZBTJSNU+P^U)IE4IZY)::!K_D@<^/%)EIZ(2WS3*1HF>6E>^J6$ MY79XZ9PT?F&$ 5+@/D<6^PH"';2+/-(/KDT3,=]&$]<.=[TL<:W3S^#J3FM4 M@%=0S\D=\R.)IB&>EBM:7=G9@KB:25P['/0C$=<(4_]'8T405Z>):X>GOK_> MPV,.0UA-W::>'2[YD403/>T8CIJ4)79IW15#/YJ&D8_U'=.YZ3_MV3[B4D)7 MNP^84X ^,'A6Y8HQGM?(B@BM=YR4=I\K'TY*"I*2JC0I]BE(Z1S'R8>3$BTX MT<8'ZVI!2HTFI=V'R#M(:6OJ[;B^4A-!1XVFH]T'QP?1D2[HZ#+H:/=9\4%T M5-\(,W$\7">18#>)4+(72]/V:<8V;46 X[!C-[6-I\.J.!W>V\6>6M^#6TH6 M'Q.JN'>MST@3>S"^J &Z$'+:X&:7(J=ULAE=W8U&(AC>;9+9X$[O23*&()GN MD\P&M[EFI3462NLRR&F#]UPK.8W[?4%.ET%.&YSHFLE):2(Y=:M9W[;V_P%Y MHI[R=$OKOD/.=B^X16:)ME[808"G050]6QGW6>&+IM95^-*,]JPUACDOF/9* M= [B/8T6L@WJ&MDBR"][I!>B79A!Y&>3DNS^D9=AR4ZBQU$>P-* M>]J@KGP&07O=H;T23<@.HKTAF'NZ/-*%W!.TMT?+LH-H#ZM!!K+2KRN[M&&M M]@\\"3\'?7QTI]Z"2->.%P1OI9GO+6+'W7/7'/9=&S^ BO=S:H3&D-HBFRJRKJS'<(61U'TC:2U25H72 MUHD)ST&U]:C868R@,[3N/]>,.7_I 78(SUII84V'MJNFHP3>,M)' Y*QO&CB MD+SX.?<\Q',OL9NU<-5$WKA?4N0=>DJ@X,F\*H^T0YS"!A=6MH#>6[!$P9+ MDLJI6')P=3>2Q_JZ=WD6CKR$@[G?7=-QO"E8)S@\:.D#;NBA'&M5O/!@I7_1 M'_::AUW6UN_2.X3?4J3$\X+B?8;2X.\.P;]@Q[4,P546'IAQ(FN#0X1'\V*\ MXAV"S2HHYA.PV0C93._7<$#>QBC".8@"HSG2A ">B&2S1)K0_+ZET.5$MGG3 MWW'$#+S&T4CYN'VUS7=)7&HEW9@TAOJS[RT>X"6V&P%$/B<9:S]19F3W?4-6 M_/ ]]$V J.V:_NO'D"R"3YZ+G_<]VE3V(RS$)T%86=H:5W>:+AL%+>DJNT3- M"/^W1'8TY1U"A@D9EI5A95,AFR3#QC@W>FRL3WYHF CCMF2\"HXEC?)C,3M7 MX/PVW5I/T+6CMU8%#J6J'T,3[HJ/SS*]Z!:F_V2[]&UC1FAXX\JW8!6.N0S( M;?R7=Y8=+!WS]=9VJ4"A#[WC[V)$?5MPHD?9@5U^]V);X1Q%4*_/4HVX$\6_ MS"_WZ*45]F37U$'/Z&^^W.\I&Z]M>ZW2[PW&@[U>N_V:9NABL6*Q8K']WK!? M;K$[@BL[A:8R6+NWP Z=$C0L3F.3C5=,LE&A2?8)?I%^@]OF@?3!M8@E/9(E M&$03XDM:7Y;4/LZ9WAE\N63XJ#GX''J2=D@DN;3->"Z8&Z5@_H7XU.QVIP1@ M_M?K8L_X7VFH")C???*>B2/]9-.>O.:21+ P ?5C0YUV>CKW<7-'8"FDAI : MEP'U=:G1K:/!XEU_)<_$C4AP>\A9X)'HZSA9@&*%8H5M66%-"81\SF)O-&B, M-"H^ROCB>U8T#26?2:5#\D&Z=F)5M,5FGTM5.98:J[LFV%""B(^B\)5_V.'\ M(0I@?\3_\'WJ1 @7[-,+_[.^F=^KGC*I_:L[59>-?EVEJ0U* A2,TUG&6-GUJ_1UM44]!G\.:H@2".CM'G3NZB9Z".K&Y:-^0U8+YFTVDSTLH M,:1-W>G)O1_>)Z%,S,>B?]L3TGPZ#E69;5IT Z+!7,S6I\=*@BJ?&RP+$%M MS376QAW.-1;45#Z65Y]XTOM"/%T"0>V(OM5(4,K5G3J6!R-!45VFJ)WQLEH4 MGJX*A7<9U+0COE6C?-(:*)_.,&\W?C=_Q0W>?ZNHU-MM6BE*"Z?R*KNF\HIT MN1+I/HP>@./?I]3 !UA6YGN=-@6 938H,4[D8)XA2:=.HL(397"?U"9E6PJB M.D-N39U$-;RZTW6Y+XBJXT2U,R.F3J(:44EE: ?GM0JB:C!1E4ACJ9.H#)HL MK8JBT(X3U<[LDSJ):GQU-QC)BG)P$FF+*UB:Z: _$CIL3I:>B$M\TV&#Z*V% M[=I!Z%/O^.)\].RUBJ8TFI=WGTX>3 M$A[VR-I0D%*W26GWJ?3AI&2@,3C0#ZZ8%Z34:%+:?1:]@Y2VYO$.ZBM<$734 M8#HJ<_Q\"!T-^X*.+H..=I\X'T1']0U7Z^0A\]E.F+$_12C9BZ5I^S3UF_8V MP&'=JVYJ>\Z7I6M5'##O[6)/K>_!+26+CPE5W+O69Z2)/1A?%!1="#EM<+-+ MD=,ZV6A7=R.1A=!QDMG@3N]),KH@F>Z3S :WN6:E-1!*ZQ+(::/W7#,Y#04Y M708Y;7"B:R:G41/)J5O=_[:-' C($_64IUMZ 1YRMGNQ33=+-0G#=@0\%:+R MVR7ZB1U$>^.K.U63!V-!>X+V]N@^=@CMC;"J M8R#K_;H.E07M=8?V2C0J.XCV%*"]OCQ4ZIKY)VBO*[17JJ790;2'LZ7&\F H M=*Z@O3T:H!U$>QJ;?:(8=4W5;5CW_@//PL]!(!_=J;<@TK7C!<%;:>9[B]AU M]]PUEWW7Q@]@G<8!YLV1-M]L>7%]8' B@!W WU8EQ^W!F"/R&A9(C>1!@8/236;K^(E-14I;"[TJ(AOJ>IE(94IK$#T)X=UUX5UK0*D.1AJ!>02NU:"NFM96R&W!9UWGLTJJ MJR!Z=D35A8T'55E1USE.&$DM-))J#97505]C[-[3UP[N%=[BC!9:J7 .8GCP M_*4'&"0\I:5]%1_7VJZ"CQ)XR\@E#4C&\J*)0_*"Z=S3%\^]Q&X6RE54NVI) MM7OH"8+1!RM7E8WQNE LKW,;7'79 GIOP1(%2P)+:J=B287.-!GK#6')2SBT M^]TU'<>;@GF",XJ6/B"''MBQ7L@+#U;Z%_UAK_';9=V +KVCFR[-H5H\+RG> M9R@-_NX0_ OV9,L07&7IH;)3O6Z%?\4[!)M5T,PG8#/MZDZ3QX/UP2MG8;-+ M*(S!D(\T(8 G(MDLR28TOV\I@SF1<=[T=QPQ/:]Q-%(^I%]M\QT2EVMQU@UN M3!IG_=GW%@_P#MN- ""?DV2VGR@OLON^(2=^^![Z)@#4=DW_]6-(%L$GS\6O M^Q[M.OL1UN&3(*PL;/6KN^%8[BN'I"JU,KM6O$.(,"'"UH[_!RV488.K.[4O M&\-#+,93)FG'J^!HTBA#%O-S!=9OTZWU1%T[>FM5X%"J^C$TX:[X_*S^L\A! M3]TE;=3-YW]JSR@Y4:S611LEEGQU)VVI$UED>\13 M\F;2#*2A.R620P :0>\?$__'NZ/ XK@(5,^*P+0M!^]ZB)!]L[_I/EC5=K]X MGO5B.T[ZH?)9$L-440TKYN)I)UG5Z.JNWUO/GMZ0R@'H_NB_;:)+.ROEK^9^V"Z3 M.U'FU*6*X))S3YI%W47]HF$8,GR966\\@"1G.I'RD-(U_\A;67+)*MHYL7V* M%@"(*?OWE%F5)B/'3/=5#@.=#?*=MC MWGR%%3OF,B"W\5_>67:P=,S76]NEWZ4/O>.8YXQ9D"5&:8%=3JFRUV>4R>/R M_,O\6O'X^#6]-]"UC9?[/67SHUM>:_2&X\%>;]U^33/TVMKY2)$ ]Y'!37L-GSNEN2.P%$):".G+@+H0TF<6TI>0[?NX(01] MI.PHD1K6V-2P2H?1AKZ]%N!Q;OKD)Z2JAPQ1%>5K&5=WX_YZLE83VVJ*+$O! M2D?(LC3*IEF69RHZGV"]5VW#,B %/PE^.D+/LAV-R#=Q4;4\8_C*G2(/E78T MA!:<)CCM"$;@CA%/-7$:]FF054/8B(+3+I;3=@RTJHG35-1I@['@-,%I%\MI M.\9WE?;!QAK.)[RH(5V"E00K91VQ':U&:U):.IJ' U5PFN"T2^4T8T>;]IHX M;8 MKP::T@I.*RZO5@;UU%>?O&99?%!\L'L?%-GD1=DV\(M()A?)Y,U-)M]/ M(C030D?-.JPE[ZH;$-P[AU# \(",0 &\RDG8EP<9(=R$<#L_#(5P$\G+(GE9 MA$M/<#!QFKP5G! K&\-VA$O%P83@M"-PVIYY*^O,-+JZ&Z^WI1.<)#CI(CAI MYXR;FG26@4=\ACX6G"8XK3N<-I*-OB$H6%!P:RFXFM5UFG20,>J*T6A]BKC@ M-,%I%\%I6O\4M6:P+EILIACKPP8%JPE6NQ!6VS%]L"Y64Z[N!O)0%ZPF6*U# MK*8H\K#?;R()'W4,4N,3(,4'Q0>;_\'\4*FU81S)K);X_;LG.# )M#Y (C?X M8WTLSXK*G\Z)%3DD^#Q[\%P\E&>C"3[/OMK!GS^]XI\_@_;V_&_PEI\<;_IG M1M&K5Q(!_;^$%X9^1*[VV,$1I#A]XZT=@JB<;C_WIR,:'D&@VC,0KFXH/40! MR%7B!WF0-F%76\=,).N6PKD92L3$X5O3*6@B'#L#]IND]'^0X#\+'$GLS20O M\J40$QXDGSP3-X*EO!"X9 9\U$;0OF$46K\W5D:U-W97!CU=W6]FP.F[T!]M ML<<8F] ^R)8;1E!_14$'2C*^$!\79;)ALD:H1TU)!JL]I3E>N?*EHR"A=[.M+] MRMC$-2-J]^8/B,DV+SRY\23 C5"EK1\&Y-H/JZN!@5PT *, J?VF)$'_&S43 M#-"0+)L>\C\'9G[8J^_\CO.&*N_82^@U#X[_GX"C@&-CX7CH\+#V:>"?=FC@ MPS;?='SON=/-09]JT.JJ53*HV2K1K^ZT@U.QBZFUN[:'H-E*-#NLF68'5W>' M-T47-"MH=@O-CFJFV>'5W>#@_I%=H=G+B\8\'& +[MY\\_!]7!^J1.SJ$F24 M4;.,&H%>K:LQ>^MEU!G\?L'A%P*MRXN%O!>QD-..8A;0$AY-WEH8UVPM&& M M''R>U16/1G#X4?5?Z_V_#\+_$]:A\);/J/^4?LWZ;UR'_A/>\B5R>,ETV9)J M+O26^&<2$M8CF<%TM(G :'O:G/E MUG#04TI+ZHG$92=R\I.=\!=%]S"A?$T;A#"(J-[9!,5?D(HG< M^\H ? _TQN"G4/A=>B+^(6F 74X(/8.;>]$%#8I2KP,,#O7=H/%SO,_O&HO# M/G$@4\B/:LW\J(BT2'$@(PYDQ(%,(VVO2Y#H6LT2715'#)=L1_TL[*@R7%=S MH39P\9UV\!P884<).^H2[*A?#F\S<0DRJN:R39!Y=\I(6 8B^>#8R0>4&M1! MV2R$%J092/4VF3K"J?V/N1:US3C%WXB"XJ:QOQ#OR3>7%O#:X)L'8I<&FLV06 7M>U%HK[3O M/4>*1 K*M!>MZ1-8)NS"GMG$DB:O-.D!ED^W&R=!3&,E;;I(CVY@!V%\C>5" M #5*U[8+OW@1K-$*WK8O.4*TM15M;=O4UK8-$RR*#(CIO)T2QPII76-,Q&XOC:@WGHGL: M3##7N.C@8[7&[;3\3+JB+38[OEEER.-HN'W&8R90].!A2'X:_F&'\_B\X\/W MJ1,A7.Z#@,#_K&_F]\H#()4ACC561PTY9*SSG$\P3F<99\?$[Y,PS@@9QU / MGIPJ&$70;BWR:"QTCF"=%K%.$Y0.-GI0965X<+Y%C:Q34XBC M'5[:A]\^W&^,0 MQT9#LM\$I1U'\RM-$&I8?Z'+0ZTA-1B"UHY$:TT0:QJE-:-_< 5GC;1V66USV#5D]O-'E21B1>[;Q*CCL-"-L]++W QGMN?>+ S<\D[?* 0B?S M(.\1T4\?,2? @U&X^9&B3B'9TL33BU+:S$#55SIA9?Z<)Q)@:3Z1FXE/S#]O MS!DL]M9T7LS7X.K'_!9A?RL@784&V^3=/R8^/%KPX15L<0EJZ.,;?3PT$IJA.!(1SN3[P.7,DJCN6FI@PXUE19QX""Z[ M7"X;'9O+P/L8*K+1$BX3\9L&1!Y.X:Q^=$/3?;)A%8RP[UWK%\^S7FS'^89K M*_(YF]$>-.=S/O$UHZOIDZ4'I.T^49;OFL.ICWJZ9HB.E\+GUM5RKZW?YVZ/ M1[HF2S9.D*7ZW)T2Z8/[U^NB5'^QSH+CD_=,'.DGVPOGQ Q-: 9(;2?YIN9/JODK(2PSIXDICPSH1WMLT[VU&L$--H=:]L>'6GROJP M\=-W\Q/<([BG.;NNPCT[,J7W5TP&MI51 M];K:RIPD6GAHN7SSC>&/BZ5I^SA%YP#;5U0.EM9-:K\);\UH^]GS)=PND]"TG:!'+RKO5IR?PO)&Y%A[,K6TB38Q#AJKUS%$Z=PJ"RG!2"D:#VI6J;D@T\ (>C@ M_VR[ %/;=#ZZ0>A'"/N"Y$A]P(0I@)-8]V'\([XXGS-YC^F(%$F 98E]1L+O M8.K1*DEG$59!V1U3VXO44O49:HCQ>ARBW-V79DKV;]5@P!8('CKQXL M[BN9$OL9G; '5MA;&+ <7=TI6CO"E>(D0+!7_2. M]/$#N0OG][;DK.W!G#X3>9@5NRP2A< :R5V&%0=[Y]@\(1@IQVVH!UD]-0D%-;R>FP&MT MU@]_JT17!?0SNKK3UD<.EB_8%5339*I9-_-J(AOCZDX=K+=V/@O=7%2,[][" M(@Y,QI="CV9TD^]V0+O_)IG<(MA7IY670KR28A9]5BZ#H*K;>?L1U+ O".H2 M"&I#J*]^>A*'$:VEIY/9@%G2*B A]>IN<(CST+R 7J-MOTS>,'$MD3$LNXRFL@E)?@K@OFKB,KKV%[ ME-=1>U\UOK]4]S]8HH-6I39)7\P@?!\1WB/)?4H98F./H.%HK4=0@YI(E6XH M%*0=A21S.@5.#0/)3[:/ RG-)[Q[:H;DR?-?V]]%:- S^D?H(M3O#<:#MO2Z M$8L5BVW?8H?]L@)*WU+Q%MA%;@Q:U=T>2E$M0TY6;8 ME]Z;KV5FJ@K I8 ;*C=C ;@] #=6*-0D$X_)8%T"?-7:\^'X7PHX25,$_>T+ MP D[K[VX_E;WZVZA.*(6<0[[-<@C?;WOK& Y MP7(7PG([1L'LD? RO+K3A^TX#!0\)7CJ"#REULY3HZN[T5ADD0F>NEB>.G%2 MBW%UI\G]OB%83K#<9;+<:4OH1F,\E)''_7;D;8HL,K%$L<1+66)!%ME:SS?X M-\I/VXU,*K5HGAE*-WLRM;2)-C$-RYKHIC$;CV::HD\-Q9J.9T9?^5^LNMJ5 MG';Z#FYKQTBT@QNV;904O2=5ZV_WE02A'TW#R ?@WKO65^*8(;'N0<(_VZ%- M@O=V,'6\(/*+6MT9?::< +CP3!C_B)_)=\#+?49ZF ,(<5;Y*JZX)HG;]&7Q MEODFO+Y1""ENJ??1E?XS2%_D2<>=XZH=*T\H"OF3>- EEZ(9+INL B>-64_!S\O!E]>A(%\-4@P+=/G0C9 VY=.B:;"V]* M+Y[_)_QM2N!Y*V*6!3QK+I>^]QT4?DA@?1M-#S .)L1?-_AS]H=:DJ >O"#\ M1%_X>?;%"VS\5/#!L1>VBY>_T/D&\.L^ $LZ3 MD\,LNC?*FE/1 2S,)X2F%[AP45K $_, !SL 9M?[<@'JB[9QJM4BJ4Q1"J]3 MW91R+1+0FVH>8KX ?;"58KAH*&>F#C/DH8*9VE/6Z$,"&#FX1)_1(0Y3"PB8 MD&S !B EOC A+IG9(:P^"(.>=!_@3A/\,%LW@R0BS38YL1V[/"52B<45WQG4V^!PZ"9$,;_ M@>2![5AT0#3^C5KP#(1\;DDP)R1$(3:WIW/)!F+_OB13#OT)D98FF/RT62AV M'8U\D(;_CDP_!#8 F". >](?!-2_Y'HA?Q@?9:0)6'NEHVWL&;@!L/19!( B MG#Z#+*;Q WDB1NG8RRN:O37)^44+Z)A/WC,3()B1N:8WCJX,1N=1!C@N83T$ M] ,C$JIH63[7,H27_D4HT68!\._(]@GJXF"#9O9!%KB4OOVEA[HY5M&O/0F; MY5+ OIC8)'<2A$"%MND _)!9'(+4!Z]-$F81-70]J>2A4@:PY7-N "7A14]S M2K' ?D#E:QR1ZKGJ*B4KUL&.1FB93J%\IV*OFC S#I7O!0/,^AED#Z[N7-M9 MEV.X_XIR=WP*532\NNOWUL\$8KDK(]Q1I-G/P')RH6:2I8GG1CPI$3#N2T * ME#UPCUQ54=J%';J$;9T2+Y)'$:NG4L%>$1H[96U5^0I? HS.1?03^0E;K%/ ME@_9Z&IOA,4Z2RX?;NEG 61IC3> 5_CTTT?,">BF*-S\2)&\S^8)GLEU M0#LW!Z_,GQ6\5RWQ7N=)0&QI/I&;"SPUG1>S-?@ZL<\7 H*WA8 M!2&#S-T_)OZ/=T6K;8-6W>9)#ZIZTN H ^&9SB^P]F7P,?;(T'^./>3/2^!N MJNRV>]6C(J]ZM.Y5WPH![J%>PA&NH(T%+!_2#=!U47%"!!^\QGT ],^N""G7'D:;$#TUX MG6-.T)S =OEHA"RIU0'HCZ7EQM5Q^\!$LQVP+IF)7+?0D$]7122'F '!VV*K MAO^>>>_CT@3M (O[?^;WZ2M Z3H @V*&ICAH!0NH,X+'\?6AQ/@!; F<(JKV MWSUXBX4=LNWAUQ\HC3P1=VJ3@-ZCO'O+K"2JV-F" 11S$PTL :X (">E74# M-,'" D>#[6L!>\1%\X?G2.-HR *'@2K"D>6^;=+O4R,*U)6#.Y[93#,5/F9N M\^G8BF%S2]1Y%F$*%]^&Z\:E3$W??T4E]VPZ$8FA6O@E\GU*B(7XLWU^NT." M@)M]G"AB!PDT:.1P_(.=CGL#&^,%B*&1 8V*_O_*).XUFXL*L8\ ==M'FMK; MZC+0VUT/$*56UQ+@C&QJQ1YN@CW)3CZ?L;AB>P!JC=;R>3)U$);S9.>-?>9&U$K>@0LM*W;#BV$4^KL((#+B5^%R( M+&/7F\O3(@'"Q6A,<3A_A2*<^FEE@B^IQ;UF:Z]9 L+BOE.'M5C]XR!MD_[!'C0J+][@C'JC=5RKRU9QEPRDP80?'C[>_RH]?/[T_N.W^)ZO'QY___4;O>7SEP]?[_'"XWK57*,S;JS'2H MHK$3)X-9J2NV#6@;+W+P\ 3CKA8/2/T+/+)\1"IR3?"&0Z:SBK17^M6,&86? M92$F%G%R<30A_N(34,CLT!-^)DY 7O!'IBYA*_^7:61P%+^2I8<>AHL.\H)Q MA-*_^;_)NS/K*K&:_ KPE[*@K0;6V&)\)69L+L;19&X.\AX,*12X\WCO@J)W M5O8-[MO-?Y5_J8PFS,QVN*G,G,#%]Z\;QO#^1B#.HR!CP"V*Z_$S\D<5!^=*4#XG?2\ 8H\D, MTH?O8-6#KRK=3ZG;J8PUG>X6;%\*$+J1J^QM5\R7#4AV 1SJLC2)P,0#RL/@ M*1Y@,&-1YI8CQZ9/GF C=)61GQPDR,D!/@TCH)^0T A0 K6KXT-*BSP3QUNR MCS.[#&U0%K( ^1/!2U\+UHE+\\#JP. -_,#=:J[].4;*L M_LCDS=HZ@I">8"6_ Z4G;V&!M.02/80HHDCQTU'V;H:PG/2) MMI @0C:()O^*P^5V\"=@$$-1--!#J2WU)6?@Y7@^CX'0C8$C@ B WR-V$D.E M0"R5\-B*$74<. * \GB29<]F\$KA32A\_RM)']+"5 M^]L8<5\!HO%B$K3.MLMW*1'M[+6EW[HF.:E0@/W$QW^6A#+?CF4VWW+Y'5S1 M!\MK*KH3'D3;3(05])U/>)R [O79)B\!CXBY86^Q@* MN6VLB5G%"R(M/>##),^ LD>:N.%ZB8M.Q4_LE%L>?9M'0WC+,#[E CL/;^4G MQY23S"4PU90Z5H[YTI/^QXNX.20S"P&6"!]$'O#Q;-US2RP]2!$5ZXLLKFAH MDIY&I\#F*ZR*PO6#@9).[K@]29$_Q0KV,Y 5PK&FS(]3A260RT!8F!C2I_8# M!I RR6$'9LST.!#CT[?HJI9NE[2]\F(=AJTH-GD0_/GI/I;E/K;H:] M08GM% 26$-PW6J\@J# Q X(ON,(J@Y'^[JPQP9!,YRY\[.D5+;40+3.FB(.I M1^45%W)RG- I4]$'F%D0'^TY3$%QX59'EN;PXIQYQU":-1;H209+Q LAJ!U M0"U_B&]#M6J"+*.:WYNB$$.<3VQ<($)06G@@,2. 6L;S M%]N;SLF"7@&W;FV@^=GC"89& <8HG@J"^T=?Q8D!+U[#EM\F>Z3D3BUO3G<,8",NM6K865,;TI/'G:"F^7T7IRP!L_0, U[;M"3/@,+1ZX-)FPB=2P?Q7Q. M ,8: ;4F+./5)HX5R"RM#2-_+O%!*4>!^<3B)"]F@-2$O],OR_'KX-X9:"64 M@*^XB'4Y] 3R#4_QP/1&'#^C4(<;X5W> L43^C*V^>1ZJ*QBXY\%"UIF5>Y. M;6=!32M798)H"%^\]-\!>:)(NI6^9+3;AXPY@VF&CO33JJ;9DL3#2 MS"E&.,] @POFKR51D8QWB0H!Q4B )_TV0!X %^ H MD;4MRD4[E LXJ0=0)3QA1DT29A[CM_Q"<(7+.571N(#/U-[[BNXR\,%'-[%) M5LY_/[&PLR?]GL31'Y(X^D,VG MK3M ,5CD#20DB.<2-B8-I42-3CXP(JT40TXQ@071I#=#/&X(T].#5/_FQ1TZ M%BMV&64'_FU\/&LQYH1=MM@LEHTL$C'=9=%]9"<4VTS53$T;2 &XPXFS]X4/ M>YC^MVR?I;*@^Q)1K9SS99D@S3AS,350D8SR. IX!!EC:SQN2-T!%%;*Z!VX M,C1A*ES%,(M0V$R",=6-#]L^3X=#FN%JFI%MJJFI[T0]$:Z1V7=M?X5LX)XI MH4XS]4%QA2N.R)H*RE$X<-:?K&2)GXNP9%(.GM3]ST JRRVQG13;K"X(EXP5 MDF60:ZX4/OWR&)^-R5BH8Z)S"8HJ.;)3G%>$]:S4YT1*XL@C"P* MJ$Q(( "Y0!9<[7UY^/KCO^$/NG1X" #K>S&D3#]GYN )9W*!O? 5SQB(Z:-E MEA,,)CJ. '.38R$QY&$M69F0FG7O/]W_"!Y$5J8@Y'/F/C>>$P,V4U:V8@ < MZ+EL5HI.'6U.D&I2KE-S;95".[1EULJ1+?"*"B#[F1>%*IDX0+:E!CWHMKN^3612/ M/-M>% #.@$JYOP"0&2J*7@R9Y9RXKPXH0\^-,,,^AL.7__H]S>7X(ZY^=O"@ M+!,.EI"P6.B:!EE1!R9'R1:+(^8,"SS@FW#; L"*]W.AS.T%NCC)1TB"<>N! M:J=9.9Z/+C\0&LUE#-+"34X3TC?S3V*9:4SY9W/BOTKO[8 51Z :Q,+F^)>< M]C*EB8,U'^S4/OE*C[\T"]45!J"AXG46R!([LV""!*4-#A\4'ZIA8RG8Q_O, MP6YC=U!9C,%BXF-F+Q_^B--V\ )SO< ,@CLP\0&-Z5B&)1E3\(#G,GO8]R;Q M@0;&QZC P8/?3!$[*Q+A)IP+YM4-%J"P4#UY!6=_O?AH>_<0K"SV;0]/@/Z* MXZA_PV79]G,N:S.0OEBBFDZ4'0!M R.5U7'%0 M%Q^B+>QXDD6F/8$Z^*$G-5;8[,A!^)W)E:]),N##Y__W\?V-,F[LAC9*S]^H M]P?BL\_*D?Z@IX+<@OGL/X&WS^6)A75Y:!K$F\5S @?$H8.FET7BT#J6FR]X M#B;/ $VDU (DP)/)JP)-+)H-6. !O 9V2$T+N%A&9_J=V8P%/.(X=1RSX)^' M#X(+S4(,6$N?M5CIVUBZ$GL-I>;-#+?T: 81'M^BC^9'RZPP1>L,&7\.F^I) MGQ%\KY*BY.JYXE5_B29@J,6@_ #2^2EGCG[YYX?8#$MAFU87Y1]_Q*07,"#3 MAY.8 TV )=^7F,P$XH7F6R6+ -WB>I*#VLMG 4B+FW?P>3G.- 1$T'81OI1D M$(!Y1,,0V. ?J!*-'DKW,CR&^ E#+:9%,8,F+DM3_,!4L#1QV,$--=DVGCB M8O+,S)@*$[#$;"#SLS&%4B3-[69M.XB-QU=+L#2HI\$-7IKS^64&B_#!ZI_V M4B33WQ(\TV N;=P$@AAH-.3F^>H1.L\LXL"7N9Y^,I M9IIM0IE@02Q,"V!!)AJ_3C]V_^6C++DV!JY KS_;OIQ$%]-O@$"8Q!TO$J,* MGI3@,YYKTJ_>7^OW]%>,:QHNOLNR5:RQ$&[]('XY_>)HYCH2^4,H0[ M(YS&86'S"+:>.G@T>!>^-K)6E[J1+C\;D1X9/]W'Y>D,K#$1H87E6BL6"8;U M:+*A#=CTJ?G*[I@! AJ-7JRUP.Y[ ?(?G&RIIE^=]S_(5X;?O'ZC:KUM/A[;U$6 M@[\ +CT-;)I/6!H12M?VVU@,P[C'-NP#,P1#C)O MSIP]<-2O1;UXK3FG2M;T"5Q,_.J;0:^?[?SF>N[-U SFF6!^/EL[)MYLP7. M1E-!:RJVQ?\(LFE[\>$=C<6S/3$[A9;24UR:$SSRX58(.M$4\"P?(8'^[TM\ MVX!Q"2)Z!7J-E+LYH7%6-S0-66(B^H20F,(2NQ'Q$5")DC!9L="I)'#*,#Q/ M(NHU$X?H5U"]E-DI;)*S\SF1.C?IBNGSD]Z#'J=^D\7:VT,B76BY 65?):)4;DM-@M"M%;B2U<6K#D.3S8A;5, M_/P9X]!QP\'"K"N>+>_$7_ZI_0(]S\Y-CCVV$2) M9=JL69'-V^NN2$YX M@2!=.#U/RW3Q5 8R7Q_YCDNB)8S(Y4O>;:?0X]@&"9JS@*5E5MXM8#U;W6RS M3D0$E\]QBG4&>2C;8;%I\T^4^_+N[[]D:I\WK27^7+:?Z5!D2VS+EC!$MD3% M.K?"K+ZSVX"I_^3:S(IXH_5&B1\5NJ[ MN=294Y(?]OJ>FO\>;\^0U)["(^!PX;N,'V);*J3U28EM6?\V1^R+@Q^2=Y_3 MR#X,G(VDYJV)_^>$=;Y#=1QXP$;4303C&R7#?><$&W6<,O9*;!HQ7X9G9/FY M,!!&8+&[!,F;0?3P%P\IN)#VC29I[@UB_S?14#^_L-91G,;KG$W@BS/N9#[TAS)I M/JFB((,QV4T27\D=3GWYK]\;R"4[\ZY L'!W^]'3]*]!<:P3;.=$&&QJ_GS^_O$HZ1"SPXE#)%EAC'0KDG8 "(V M9CY^>D\!G"1#L@A17"@59[.B'TJE7[85%IYD>D&:^CF1%I$3VDO:81@(A8:] M+"^(4_'QR)!2R*N$M1= C3P=AF[3I:%86JW%"A.R+OEX*Z$5>J&8>L,\9ZS M_0X;"@"^;V9@#=)Z\.#:'+#@G2LG0DG]Y@"><;$ZNE*8?;8 M6G9IVB MIEKI]Z7GQHNG^1;)ZK=N=V%:R._Q1I?F:[(4,PBB!9ZM.$Z,LJD<5/>ILQF!0Q MPAW8#"&8\])JG*.!8Q,8"= C*M ?GZ+09TT\T_IXK,1EZ8@T=;O C@0J8U*! MG7FO#HG2>!4"RG1:?1^RQ"J?N.2%=85$5ZHH'JNWD)=36Q#S2->/'G(ZNK1# M4!OWQM8[Z[Z5,()G=O<)U6LGRH)]5(6MS:SX0V]DUZQ;%.M%189&4;K][+,29U:DYOW>,'_BHV=BSO9YP\X;,P9I;N91CK_4 M/#"TGE'O\5?S2+]BN#FI-ON6FL3?8D>T,.#-7Y0U.(G=HFPU2": M9+3:)]-\-6?O*6M=,$A\[) Q7K,-A&*9S'UYGER?.*KQ=9]WWQ,4<'H*P,A[ MS(S9^J8BU=,6BE7WZHY3KR\\<'V<\55^71FNSTQ\)]P&\>#G9B3A4! M.]_B[9ZRCP;>+'RAL2SG"5L#S!?!2M,0FNE#L)$![^#(%D8;986L$=VJ?Y?; MH$W;? ;Q5 T6T\ZF""?6(ZR+>8TF>']$@S MY"$5N"FT$S,0CK@A834 M5HP;@K"C]/1U++IMT5"WXV&;EDP--EU'KK4[E\99BX".4V3Y#D'L&9GLA("5 M("4'H":6LCYA+E RDILF.J6;V6RL)V?^'[/+^49P.E+.L4LK.T"VE[82B MF4?NX_R:'/Q9@X9>GZ6R9^+C&T\U51;'B@>H4\9!1V ETS+AIKAMRNN-19:$ M&C,R'SB0T #M:F@"VK$[" MC(O/J6+U Q0>P"GV-(PC6)E7(V/& 2X^RIZ69\>'O*Q?59!N"&.CTSAE,:<^ M:#)H!A]KPAQY<$+PYS55SR=8:J5GP'%/=IEI.N,+B<[-F:F1@ M4P&M\O9+/W,Y MGD=9:?/Y$P_6[WI#XX;'.1HC_Z3G8[\0EV 9T[>X=S?K#X?=XU[F\-77&^\% M#9)\*SG^_I4FN ]>3_HUM-*6ANRVU#LK3/&D=G-ZU! 7[/!/4(-^G343RX^/ MW>#Y*[RO1*8;^6M:]4@'?L0-=%GW\(#E:6']*K5SZ)>I1Y 9$APG86%.6.ML MC<^T8&<:9>,%J]2Q,0R(O<9\,@,-00%!VXYE'3BC-\@)L!>2S6-EHU_P4"@. M0J$DRT*3X237X5U>:^_NLB6Y/#R!3EFNR3N)6__G95^.'SYR<_H+[Y6KDL3Y98D5VDC*&'^]9X.F/SU]_?7]DR%6<+//XNL#(2[1H8^SG[(WZ M63PPI^K34H\DAI#&XNB4*3K,A$5::-UF/#5-%J&X R,&Z329FU_N?^6AT-F O%I'K ?IM'./=0$^G MTMEVH4F&M@(@^,FFH]'2R#9OWQA'L5G@FE7 2]>-U&/VVPH5W#>LPTERB(59 M5&@^TEHLRO RZHB(]I=]H_3UU6.$I!TJ&)^TFS,KFT\AEK10 3LL;2"9-_F9 MSX!E,; X'/J!/?.Q22)*E42C+6SKAD=5+4 4.QYSO!<>:KUA/_:D?WHO6%.: MF)@^G<53TQPB9NSQ(A4JYI[PF(.Y.=.(9W1E[3?0IE'(C3R?/'EL:$E82(JP MU@7VD<7WL=-^7GE.*S628'>3I]-NI MK)&B@C5L.Z9 ]IK:M-Y$6P#2XW)=]JD*A/F?GL; Y6O+U:MJ/]O M:*K.,B"W\5_>84]FQWR]M5VZ7_K0.PY^KH\+3J\H0MCE5!GU^DPAA3[\WXJ_ MS"_WZ*4?0VO]FCKJC)?)TV?F AK9OS';^L.Z;;UQO^MH[.-NK[H# MFH).HT2+B^=ZW" M9G;(U4&[W4CF70296@?_=PXP;P0A58+7#X**A$02$DE(I,; ZX\@ZQ0K%"L<*+7&%E*<[/A5>D MN$3_JS5&G!>[[U_RN0&K0KW*GOO26?77>'=)6[&)4VF/V;W1L7G-VMQ UL:# MXI#,/N1;8;N5&'/EDZO,+:BN752G&G)?5P79";([Z>:N554>ZJ.W+2:YY!UJ M-?NBD/R:B")#.35ZSK+/,I%)(8\Z+H]473;Z(Z$&!=F=='-C3=9&0T%V@NQ. MJ]J'ACP8CH7UU6 4C;0+M+YJ.H5I1_SNZXZ2R8UVZ3:2+P!(6TA>DPVC:B1B M"_Z/)9C*1K<[BJ6AK*N&P%+#L72MR@-]6%Z#" R='$-Z_]3H:8""%\11"FB* M(8]&50^#! ^?'$VZ;&AC@::&HTF3QUK5((O TLE#L%7#KYU1BC5EK33:V?V6 MZ_VPEVO+=UTN_;0M5#^6U=&>YPZE\W#;$J?K%F8U7=9'?8':#J+V6AW(RKAZ M@+9S:&TE\BXRLBYX_D!PZIH\J!R>[BK?=PNU2M^0567/W%N!VT;C]GJHRT-- MJ.J6(J]"C+PSJOH22A$?O "'HKA6W&G.?<(NOG0BQD'EB4TI7!+O$.\0[SCP M'1=5SH7]75=YZNRJE<]4A/IB:HZEM2Q/-CW"%>@Z7225AG+0^WD\22!HBKAO@H9 MRYU1AJ+F)3M<\D*2W11-'@Y%L4O3T:0JLJ$J DT-1].U(2N#"N6L D,GQU"5 M,$1G$GL%<91+K1G)PX&0LDU'T[ OZTK5A%:!IM,[NJH\$MJPT2A2*[36ZHPV MO*C3W$?BP(]/LO1$7.*;#G5X36MANW80^G3T\*6=[()31ILCX6 M)_!-1].U(BMC<;;;9 R=O,%6 Y2\H(UR+J\B]XTL&&J 3KRT$][0CZ9AY&--QW1N^D][]GMH<8!'DQ5=1$J;CJ6_ M_\U0%?6=P%/#\22XJ0U8@C\OM8&3H)"2?*P:NN#CAF-):,5VX$EP4QNP=,%: M\:+.>^^#@(22O5B:MD^;^-/>!N&<^ ?YP"T.]XSE<67Y)()R[=#V D^"FP26 MZM#VG0ER"PH1?-P9+ FMV X\"6YJ Y8N6"MVJY??MM;^TRT=_0XY_NU6.U)= MD35MST$7S6A)6F,\KV.H'=<2U7U=?PO2_ M7[T@D&:^MXB# YY[<>?AUYHJ]T\_T$($*JL(H+X\U$[>A%"@J%+K#%E7*^@) M@:)3HTCM5^WEU)EPOZ"0DHU>#5D;"%789!2!G!UJ%=H4"12='$7Z4!XI)V\R M(5!4I7_L>7H\-$ 57L+)]T+8[7*')_L&<854353G!T<-T(BG/K2U[.?SN+B?:0DS\V^E:Y[0_5:67)+.;**+NY20SK4F M&^.!"+HU%T/G"KH)'%6)7 MLDN!HTIZL&\(+FHRAE1YI)X<0PW0@Y=P@$OSDB=DYODD]G%#\[LH6,ZJ>1W\ M75'[V#6TTLX9 JL=PZJJRV.E0G"JJVAM(_+4RN9Z9Z+I@O$/3J@>RWU1]M@Y MM*I]V1A6",()M+8"K;HA*X/J(X [A]8V(D_5SC.IO@%J^A(JE;_XWK,=V)XK MS3S_\)A BP-?8NQATS%4-?M&8.CD1S "0TW'T,5.I10$4BZI6_07;CJ*%'4@ M<-1P'%V/1;97D]$SNL14KTLXXOY$0LGQ@C7W]8@AM]/!H"S:WQQI]PVG=CR\ M'_>K-\!M1:!1$/ %$/!8'H]50;^"?EM*OS0AHT)#P381<.=/>O2J(?#.G/0( M$2=$7)74$UW8F(* VTK :E\>&X* !0&WE8!UHUIC\381<.>-3/5BC4P>?8U7 MP>_4*/J+J6*-D>='$(7GJ+O$6\<&CW]I]N#4#493;?@Q-^';< ML@7^B!]9F/Z3[=(UCF.9:;L6<8%U#?J2(YU=T#?>VB&(IVE.@HQ6)8B*$N0K M>29NE$G&:\Q&-@D^NNS/D2_Y?.F ,3>P@Y!8DC>3EKYG1=,PODH'J/HD(*8_ MG=-_6'#!\98+V$%Z4R#-/,?Q7H+;E@$"!VNKPT39G7X),]'V>APM[JE._4"&R?MW/K$,4/[F;Q#8KC1Z-.K=H$9$'P!8D@9Z6=$ MT-5=%M(2?)\X;*[PGW88] 2]UT'O7W=)&-N=.I%%))#*V/!+ED(RG;NPXJ=7 MR00+-& H(=_AML!^ML-7:4:0\A/9!:M]AH<#_CMLC 2AYQ+ Z"M^"N_U7DTG MM/&RMPSMA?T7G0Q%WQQ,?4)<6#A]OFUHC]649/I9:2U=VZX4SKT(WFW!K@%\ M!"R")?$!RJ'Y1(*WB4"GFGK%A(#E.^8R(+?Q7]Y9=K!TS-=;VZ6+H ^]XS!A MMOYM ;=3*+'+[UYL*YRC?=[K4QL]SH?@7^:7>_32BF_"KJFCWGBL;;S<[RD; MKVU[[:BG:ON]=?LUS=#%6B]\K0-M\S>;MM8VP56L5=754F_=D7FVT]D;K]U: M$.Y"I4+\$X6 5O3BFOM&EX;QY('T!-6](C:$"RF!!?TOIRB4/( MKH+F86ZZ3YM'B'0? )_@%T$:)4GC4/E1&)W:?@K0;!BI?54KD\*P<[<7!3*U M#J[J'SA$%(6V%5YGNA(0^&8IY'UVS3*OV; M+L VO816Q;N2>"^M8;$F&T;5T)'H-'=J+ WEZF/#!99.'\*2!WJ%OC4"0R?' MD'Z)0PD%<93KB&O(HY%HBMMX-.FRH8DY"TU'$TZZKAKW$5@Z>8RY:GRY,TJQ MIOPFAF>MX5[O-R\TG:287N0Y75X(JR!B0<2- MV/:U.I"5<8,.'LYUEM1&V)93EEZ(-#>?L2GHPL;VQ;3IK0MW3\VE.<6E MP.K2;Q.)N'^] L1ZTCU\&UN#1DY(7X-M,2VR)!0)4K3T7+JN)?%GG@]OF+)& MR,E[8:7AW/:MFR5 Y#7[#1^;:_KTZ:FW@%U,8>&P91.H, \&^HYD35(4T!U0 M"*PT\\5/S[ ;%0!N@;\$TB0*X(=@2R-2CEM=[8U07ZPWWTT:;6(3N,R#O$UG M/WW$G("E$H6;'RDBZ&PKAC-1M*;DH9/]<^ZG#/Q$;B8^,?^\,6>PV%O3>3%? M@ZL?\UN$_:V =!4:;)-W_YCX\&C!AQLO ?X@M)3+8!LO2"P05E3L6$Y4FN%\*W'1M6R407/?Z%A29?7%TM?#T(X87XP6NT,!WO MZ2WV67^&9032@IC85G@68=-N*FUHS^%P;H;I1N%[%D(.X+KTB65/0PGE"$H6 MV@X<\3.+J(SC**FK0_'&-(53$67^?!VH< JL&C!,OU$'/15;.3L(,IL)[7.V M"@]I/TE.]V2]::"$39A0,8#>@&M<>0;F(L8;;@*[#@&:;4 4K##6L@YPAE_8 MGI]=V=6DOR=M@V01T,Z.^C=#O3=L$GI=5,('8#> 3302TI3FY))$)W,!_F*" MW ;[QZ:VHC>;!21$6IK#BTL19%=$U)=5^*P(*35#Q0B,-T-CG:Z9Z,#+9:B, M-K9?DBE:"NJ0+I=-,;-",' [_L28]+3(COH_VM!7%!H$4D*D'6.#.#KZ%LC6' M&) T[!J':]@NT]0Y.UX*HN42P3(!\Y=>#_ I,S4/ ,/-% %OE)X6X^^LXS8* MIM#X@),G%UYB93%%7; U1 %Y D6&#J'"9@9,!199$)GP#\X<>5293\!X]%ZT M%5/NB3'62&QUQKS;.?EC19;V!DTR"$K9>XTDH$.,T(V:'4>C,'>/?+>#$/ET MBI-!)I[/)ZG$O!: 7X.7,XS-/DKY=\?::&B&2O976$=/*C,])D-#6D9/-8"& M2AF5C:2A$B148',DYB'##2479FG$TWTR(IF&OO".3R0(G;__3=6T=](_";CR M<^EQ2CUS"0! 6,0M>]/CP_T:/23OW67"-I/.FS=TB+ZQ_+2\!R]@*/T,FS0I MW#Y\7R+*VS9 [QN@A@U1HL8(FXTTQY%*B#1S 5P9!DE VV.CV];\J(T$1AA4 M9+!D0$ZY3[+T1%P &8L%FQ88GT!W/@WDIC?S67VA'\4QYNDA)MXL]!"/]AE(NK9WA"*S:.:L=.Q1(7[^(C8HA4Z=>V;'B, M6&N+UBJ&2(FUBB%2]:;:B"%28HB4&"(EADB)D2TM ID8V2)&MH@A4D(B-0=D M0B()B22&2%6*LO:3>/%ZX+2;358NLN"J7"G3=%+WE25&21T8(,1I"H7IP,O(4?I<7>%YEYN;1,[[)9S:U59 MZ^_9I[ZET;@6(DF3]?&>.54"22?3Z;(RKGY,+_!S*OQ4,+>:V$C\?(D2W:8+ M79'[PST3_@3SG@A)VE@V!D(#-AM)BJSV]\Q7$#@Z%2.=!3]GUX07RSV3CZ^]\,55'?"2PU&DN"DYJ/(_CS+!@ZNS87U%&*@U5#%QS< M:!P)7=@&+ E.:CZ.+E877L*I[7V G9[MQ=*T_:31M!=B8^I#W-S6!G'&\KBR M0!*!MC:H=H$EP4D"1X>J]HX$K05U" [N!(Z$+FP#E@0G-1]'%ZL+:SK 94C6 M&N[OLMFO.(B&#S=.!O"0U0$\):,<%]E*H=K>&\T,NB)K6M7:/!I6K]AK!>UV^VCHVKBX4CXATX1,*^--*HH\ MUO9L:M,*R28HN.,4K(YE0Q=VI:#@ME+PM3*2QXHN#,L6&I9[H*WMEB6/P\9K MX'=J%.O%1+.3-@I'_\ ;)XH$3B-V? F 4FW]SGR5V=>!9+I$PD(R'XFE@3K MLWWBO$HSWUM('MS^A?@SSXS%X G8[>&<2)^\9^)( M/]DTY=%L>G M65,MDWV0:;O;?OJ(.0'[)@HW/U)$&4QULLEP9R(-3\'# M3BKWI&#NO024#D^F!:<$ .CGYX8D*&?C7S&8YQ/D+#"8I MET:N&5EV2%!>(V@"]C=J:IOX<_&1 M:_A ./TGNP^ 3_"+((V2 MI'&H_.C:A7 M'XW0C!0W,0=X0U5%A0E)G9\#+"2AT*O[ZE5=-OHC04V"FFIIXJ')VF@HJ$E8 M:945^M"0!U4J7(65U@(K;:0U!Z%GM])./04D2N:AKU! MB445Y/\BA=UHO8+TQ(D9$'P!UMB\7\HX,;R MR-C/ +KL8K:1/- JQ&CJJ6<3^"F/GY,CY^SZ6DB\LHT;]?T""!<..'4L#T;' MA5PW99$REH=:7RB+QB)H.+PX95%3CD<[.H1^*:AH$QD?(OR+8_M$]%<04SW- ME0Q9'0AJ$F<)>QB( UE1*AB(73U+:*'I:%0_,6B[Z2BDFM"1^^I(73:&?4%- M@IKJ ,10DT?C_4Y]!#5=ML6E&_)8$]D;;;2XJISL=,3B.D,FQDKMX W>?ZNH MY^AU51#"X[VGKG]XV\8D#757DD:)*'N)CHOMX>F!<7!+ZFU :"/+G^'@IE,D M-1P(DCI_?D ]?6%/+6 M$]Y:NLV]5K^W/NBI)5I3;W*,U9Y1LGJAUD4;I;II2YO*0+")MR?2S9V M[W%-A_;$#N>V;]TL33]\E6;V=V+17Y]-WZ;]J.E48AD>F3H18E):F/"P;3IL M5'$0+9>.3> .VGE>EF;FU'9XT@8CT21 Y:QW2X38SWTP=P&('I=! M;N;%*NM99.H#('&_K]*;46\@P<<=A!IRQQMEW!LFO]!6\0!PVC(7+[O8('7A MT0:I9+U!JH0-YV0$^)+@2 ?BO&)3_ 7P,MP*>,.W!>8B[4L/7\".:]@AWP8 M Q@D*Z(H=KP7>.FSYT1P>V8?./*!CHG8]5YXH^=+K\3T.X/30H;!@1G %0/C M!XJB8?^'^O$V'/"7&\G+IYZ/]WLNY;,5?,9(9$(;Q>]K_%R,QX7]77J9V].Y M] +(1&D/(AS0[\UF 0F1.&.*]W(!3%PXNYY$A1QATCM^<4!P2$*J0:1_ M1_!2XE/&QPW6108U8IN^L?PI-1.$WO3/ MFXG)9GTL\ :JL=[*?Y[]*Y-^130$FTRNP% 3%=PY_^F(<'+0+GS@JB/\#N'E. MW 2AG1'2NX&05\%&3XT5KBP!46NC'P QD8_$D$KQ'<);6E&'1['J2@(@IXIC MC8#,9:=;9T)_5>>;TANM-TK,C^1F>$>QGS%>?(T9Z(W:X\.0PF)BM 7(/<[( &>6# MWO[-="/@XY!1$!+A ZS'!T]8NO[[WPQ5[;][^.V!_DUY]Y;> /9RY' ^3S@5 MK<%^QAC,K&23C(JW@5.4LLC;*'R3KX'L>:. LY+C!%7Y08ZU>SD+9HM-F)J: MFTAOU-,.(3U*O$H>>]G7 -"9,EA!HXQ8'V=M[F+J8(+71!)7"]=)L2)MPHI< M:&.95 "S5U <](;Y'/7QY3796/0E.DR- M&3;DB5HM$=SBY+R) #X+Z/N3A)F/32+;H6]P**-DV#%G0.5DI[GP@-W^RE]I M$^/41TMY>T=9L7?&>Y@[I21]*9,COAK$XB\KB+?KN5A%:NNR>UW&EQ&^_57A M.P>($Y\&,\Q7T. .7TM"3E33)N_ %5?!"]OQBO5Y!)5;#'G0EOW"[1;OE8>G M5NTCV -_;$8(FWM8$OBH=H>;%>E.M!?;J<=3EF<-.X1^%%N4#W-8-BB_]1F? MF:TU1.7E5SYE*\_J-@\G5L(7$R4'5/,,C(/QYE21@9<+',1H8 *,-;.!##@9 MOWC^GT!U4PPQ8& +[UDZL&;@!C-DL3G@OI"9CCE!EPE2Q3$J^E'.?S,O\L'0 MS-^A4B^[8%/T0VB!YN.Y6D8\Q4-!#XD+BFF[6\A-TU:R4!LS;7<#/Q8]>Q8N MKBB1[@.4XA]!\]@^B^(!,7^FO!J+IXI[:@PDMA(8V[>=WS>34;$9[W W]?O;R:!)F&9]"CUQ;=#(S)NYY[,S6#>2Q&>E+KK=:/: B J21]=,&()QD5P7^XYG$< M\/A=H,YSHD<,92_]VI8-8Q9K;=%:Q5!VL58QE/VH2?AB*'M%T(BA[&(HNQC* M+D8@GQ1D8@2R&($LAK(+B=0*;+8ST5!;1KT[&2+[I*@Z%A; MMI*[5N3^8%BQSK]-K=D$!7>=@G5-T*^@W_;2[U"MVKJG3?1;JGM.JP:;EE6L MNMHPM)X#"J*/N9")>^Q:D]6AT.J"@MM+P4.E:OZEVFX(NU M2W6U:6@]OUUZAF[OY]DV2W"U>8(KR2:X'MX@O87,<*W)QG@@YL0V%D&J4M4- M$"@Z-0_ILJ(H@H>:BR!%'OT0)0B24>[1VE)^8VND?HEGZ@S>M_NK6#Z);$SY7Y&WJF M1?R>@R+W'.F9Z>>+K?AS-W_+^(97:H#^U9>S$? M^>.509+K1=$8S&Z%X4HGC63L"N.JM=DM=/J"VI!ANGQ$BHFC+9X(FYN)6_'- MD-!1R+3W\\1TVE M7J7#U-OQI%M%VP]WK<^[%<)-"+=R/:;U#DLW0;Y=)U]%'0CZ%?3;6OJ]%CT" M6FE87H\JM)+LBE$IBKG$$AM36R- )9;8VF*N4R3];\U>_S8GTG+C^1+]89\Z MC!]C+=,K,5%QF"')?PG?C5\RIU,_PL:%L[3P J\MB6LZHK'#^=QSD).PJLWC54" W@3Q1Q>,:-P#CB-4PV].E=41C8%D%2P2_^[MHA@BZD93H(5Y\L[#!,ZW_6[ZB1XII7H$7?6+Z* MYA,)I5^](*AI(V^-XV(T68(7F+0XE+YO";=/S "( M >B1NA%O*]A?3P_K]OALJ0?L;#>B_@ 6D*FWN".WPR]9Y<('K8 M=^2CF,0O95]M!@&L/2T6EG%?3A0+V[B$&/984$+L>NX-K/9/PBK3R+\C.WR5 M @+*F@IBF8O1(/1AX6P!?&FPV[D]G;,]F^"IF@[LV9O-<#D@W=F6/<"=&>)C MO,@ZKKO4-I=-?%? VN?LQO$?:W M M)5:+!-WOUCXL.C!1]N@PXHUFE?/SS^_NNW1^GSS]+G+Q^^WG_[^/G3H_33 M_TB/'W[Y[<.G;\TTJBJ4E+;6VO@:"\$)"IPG%$FM*Y-5E-YH.*B]Y,SHJ8-A M2\KCQCUCN-];3[_6(=AEY4KYSK]600/'6>N@-QKMNY[3KW6LC%JS5DUK"V^U MBP8TO9P<.+A\<*U4@&O19E8+-*V.@?!3]XS<:2?;#KSRER2"!86U"K" M6E1--^H-FDEV'83A;L(34"QAJ^' N@LK$A9<*KBT75 47"IJ^>N#V*6U&!&4 M=!I*:G5;B'+>3GR =EN&5/8O(=@K?;)L38!8H5BA6*%8H5CAL59861&N9+XW M2A%N;(^43:LK78U5L-,S5T@:-1=(%NWP3'5FY;8VD+5QU3K>8H(]:LGCC@H3 M07'MH;B__\U0%?6=H#E!L:U#3UG2^__9>_/F-HYD7_2K=,SUG"-'M#@$P=5^ M;R)H2O+1'4G6$>7CN>^?%PV@0+35Z(9[(05_^IM;;8T&"=!< *@B)CPV 717 M56;EGK_89=W@_T,DXJ/;M4VJF& M/ZE*)>5PPD %ZEIEQ8S:[Y?D)E;B]@T$QUN-_/VXW[LG*F< ,'RJ6.3Q2:#0 M1E.H'Y^>KNO3!AH]-8UZ^_?$SPXT>CIM=!!HM-DT.HX/#^XY(R;0Z*F"K+U[ MSD$)%'HB"CV/1??L_F7@C97BU?')T1KAZG!WGSIOOW"_YNQJR/OY@P"OR[W?R[?K P M<&_@WDW9]%E\&%XX4Z]<)>WL&Y[>"Z( MNXO$]-G],P9.NO#-G:.SG:[%A1 MF+/U+2/"]D_BH_U^ &H/#+RE#'R?N&'@W\"_F[+IPWY\=+JNAQ08.##PIFP: M_AF?G(1A18&#MY6#[Q.-#_P;^'=3-MW;/XT/>NOF90,'!P[>E$V_..['!R>] M,)AF"P/$QZ&N.4BU(-4>(+<5A-KF4&Z-K->."+7N:5O],&TKO#"\\)%>N,O; MN'W:%LG%-!^I'*31*?V*9=&@_,<_C5Q:\5=WRN:_+%![^W=)U ,7#3$:E\4T MJB^##COM[?>]AQWWG83F.([GC64#GZ2PIX;.Z MH!]5R51%,SB78E1%:8Y?.MB+/L,G>A_XUYD/@Q458]K9L;>8TQXL!KZ\YL;P M6<>GK6>=].VS5ME7O-+&XN@FJ6 SZ30I@4VB$6P%OFXI5B494!)6=/'JWR^/ M>\?XZ<5ZI&TB1P'GMG>@MP3AD='3P)W@;[ MD87\Y\))CM18E6625;"8$FX;KUT-"SB9/QIX$[P:GD*TD^6JI(1WPP?3-$]J M?!U\ 7^FB!.CJIG-<'$#,$7H\PI_E43#I@*C!)Z'I_Y=S[*2OI@/:JRL>+?X MB/PS*6'[5SD\9.0>2CU)R\4S2?#BU76FZ.Z-@>EF35DU"?R',()_*LD5,"9] M]R:M)Y93NL[@V06/IAA?R#2W%[*\HQ6,;M7^WH%_J>XG>?!11RW!0U+LJ>[G M!(X$GJ6W9J4PW\PL':HX\'(XGY,O:I1$0"O%JY(_G)L+WR6W#6O= M<9WH%1]456?_\;\.^OT?H_]220;RXW*8*C0"[&O=+UU>G"\\T7+I4B85%C@\ MX"K#65&E*,9_ *T"\OQ:V=FB.)_-^:',!MNW/TD&59$U]?*?=%T(]F$9B/NA M?=@5&;]_Y)^.^\]):2W4*_5R !S_Y64RAL7^D&0WR;SZVS_\+<+^6D?:/HWE M9NH62!!ZU0]I#60;>D>[@.U-1WM15'7%@AVN'S 4Z%?U=88BM,(K(;)$'\/V MS,L]W#L^/0NS4K=DK=LT)S/P0."!;5KKX5Y__WZ2,)SK'>=ZL-H@/N ,5*_#O;O/O_1#D P<'#MZ430<)'/AWF_GW+#XYO>=0@\"_ M@7^??=/!@@@.>MX%U;YG7W,_X"'V\@33>( MH,^P_T>!X ^"<+<%X>Z;HM^J.-Q,RCZ[7'R@"0[2,]"H&=WD0-SK!)M/HL/ M3YX<*C?09W5P]F\6Q_C):LB?*[9UJ3+XXU4<7:E1:#1$]^B^.1LW7%K@49/ MG'0Y#;IHLRET&!^O/?/]PC?%8@3Y/3)^CPZMN\VGTG#?IV9W, MP"'!_M\-&NU_HU6+WTKQTWF%8QG3Z2Q)2QZ6B%/J$"%:!XZVL_;IX)NL??I+ M7;HA[/Y$5#HY"34!@4*!0D'2!2H%*@4J!2H%*@4J[8#3'#@DV)8[0*'U@UX[ MJ*@EW#HJHK#GG-%+;ZY5>1^CI3>;58,'77(7R3V(7K[7VC MKT*O'_O-@/]X_O2?> MV%80-@BFW19,P,#]HWM6D08&#@S\[)ON'<8GA[LL@;]5U=H_BGO[]ZPDW K" M!LFTVY+IQ4F\WU^C]W:;>'>W*^M>](^^.42Q(-2"4%M-J)V=KG\[@E![?LJM M@P.Q(T+M6ZD4OBC*65$FM9*LR5:6!??O*@M>@7".G.D#OXZ*9I I7] LO?4/ MD7/=@B7N9EKX+#X]6[=A98-S]UO 1UNPQ)UD]=/X:.VV_\#IC[S$37G&MA[5 M-U#=\FN>9%DQ!",-I[3-2C5,$S23&-)Z6L!"_Z0_/&JWZBX]8R?=M%[U;>5DX_#\\(%_I;N-!8'W3/437A0H=G/'NP2_]8N+I/7^A^_AI+V::O M/DRT_&@YG,[Y*M_4?=0*GKS/3\ _]DVE27J4Y4>F,+S!^L45#>%66S"KU M@_Z7'T=I-P='QO9YZ^V?]TX=?Z]G>Z?'] MGOKT:SW>ZV_-N08>>)RU'NV=G-QW/6&MR]=ZN-??/]N2M6[9N1XWU#EM2J?)]I[TNGZ?H"_1._A:Y,J>IV/U"BZ5+-: M30>JC/K[\0JAWKOS5+VV(;H#YW8Q2?(KM4Z%Z)WGU#OJ,MBW^9 .]@_ZJR0+ M[MSMMW5F!P]QZ\YV[6 ^JG)=\NEHBZOZ\M7,G^*&X5EGT4TJX MS\E,-;"PZD%%V#KG_LQ'=K+7KD#?$+;;P3.\F_'"*=Y]BI28?PC5L(-G$VYI MN*6;<8KAEBX_FX7D9 M?P_.XJ.3P,"!@;>5@8,)$3AXNSDXB.# P%O-P"]Z9_%Q?W]UU+QM8EY;Z;46 MJLRZC+QY1#T^WAR"/L/^'V4J7)"$NRT)=]\8_5;%X692]MGEXE/CD3T7<.PG M5:FD'$X(-&2DKE56S&CZWE8BR/;N0I#=2?2E@\-X_:F8&PR_M)-$ E?B[."> M'\7X@TH83":&>^_<<^!2(]$1$ZI_$!R?A)FTVD8Y.XE[OGA.V M I&>2B?%!\<[A >[DS0Z>)Y+].Q>R3X_CHY'1W9I_L M)(UZ\=%!H-%FT^CT_M"I@49/=8]Z\<%^N$B;3:2#^. TT&BS:=3KQX=G0=IM M-I%>'-ZKU"[0Y\GHTWMJXCR[DQP88Q7&.#D.UW9SJ=/O?W/7]AN8)?E)5779 M#.NFA 5'PTE27MV"G;234=M>W#L-ND M':@4J!2H%*BTC50*UMWFT^@Y;]*S.YF!0X+]OQLT>J;6H6>_P=]*"=1Y5:DZ M2J>S)"VIM8_F@R-9RJO%@JF[#N&;1#%<;^\;?14.>_'I_CVQ%#8#Q/".3$5@X-UF MX(-^?'2VRPR\3JIMEU XCX_BP_U[5N%M!6 -IMR72\'Q_WUO5Z @,'!MZ4 M3??/XJ/[XFQM!0-_JZH5_AGW3H]VF+)!-.VV:'K1.XU/>VNTWVX3\^YV<=V+ M_OIDV_808Y!J0:JM)-6.XK.3]6$1@U1[?M(=/CF:Y;-+M6^E6OBB*&=%F=1* M,B=;61K 7".7*F#_PZ*II!IGQ!L_36/T3>=0N6N).IX<.#^.!@A]"B MMH"/MF").\GJ!T?QR2XA#&X!'VW1,[;UJ+Z!$I=?\R3+BB%8:3BT;5:J89J@ MG<3HUM,"%OHG_>%16U9WZ1D[Z:<=QOW]'6J_#<_X!GBV'Y\=[=!PK_",W7K& M4X>!GJU^=IVZV8TP^S;H&6M8UM].ZF*'IJ'W>KWXK+^N9;65T]##,\*-_A9N M],%9?'IXSZAON-'A&<\>[M(_%K;NTQ:'%P=[IBD,HG]9F.T"; M+?JD*I64PPE%*4;J6F7%C'I^=9R"/JA6F !J?J"^#K-FI&Y/JD3%.!JG>9(/ M590I.(UJ[_\9E/_XYR.5RCPF 0^>E8!O+28A(Q'BR7ZWOR=5A'M M2HVBNHCJB8JNBF)T Y]&-@TFGWPH@ VBGU+"-TQFJH&-5[H9?,^O"MJ12]A_ M5AJVZ\72G&]0XZ0HU[J"^)G[XZ0+OK+LFG^R$GG/M/>=YB-XV@^]TX>G=V]_ MI;-[4Y11$HW2:MA4E.%!=Y19_U?GSD!=^ZO.7%EOTE$]D7B"^T-VYW_8MS])!E61-?7RGW3Q*]_[(2Q:E<_$L/WC M5EFE\\^)\4!GR95Z.2A5\N5E,H;%_I!D-\F\^ML__"W"_EI'VCZ-Y619E:1W MVFM/=7)WF2H@-DE]?53EN"BG9%J\SO^ZL MDJF*X JGQ0B?!%\Z 'F4 C/"@42C1N$7OSO<.]8OCB:P17@D"VMTDK04CR-X MK)D$%7-; 9[HV7O=:[KV7GN\T09GL$C+N_B062KP[V^ MSU8'EJUR>,7=7)54*S'6#7QOD;EZ^PYWI8;!BJ:N4C JX"2NTZ$8"6MPW='> MV5_@NELH_T 6Q[/SRN7J%MHJHDJ?,8NJ WOGB:>.#M<65;@<9L]C[U&'O8=E MSTKS9[S(G&VVT#Z)YCXK!K:=&U;55K;47H8QVEW.7C"8S^[O>24OY'Y[\_3&$ M=-PMI>$X3_Z2&B?A0L*^U_F4A4-T#OCB_85X@%<-_+$HYX[X[Y;2=]#@-_Z/ M8;W"Z<,"W(56S:!2?S3XE3\:4#VJQ+6.,W@8^J5XK.BX#LF5P_^"\P;O3C@( MQ.<0F3^IZ9R3/(?3&2HZ_O_=P.J15AS#@O?422ZJ#2F7J9HOUB)UD;@W"H,C M%;_/D5&X1?#6<''CLIC"29>XH93<3]P<.*/ .RFXG+"*:_"RQ?1\H.#*-DB_ M>^C"=03A?DL0'IVL*0B-,MRW HF>U.\_DC)LR:E.H7"G=EQDCW3T__XM'0Q' M_4%_D)R.1H/#Y'1\=C+N]PZ'I[W1\&Q\NM_[_T^/_K:!$9V33M9Y]_:_?WW[ MZNWG_Q.=?W@579Q_?/OY_%WTZ?7E+[]^NGA]N67QJ7?I'TTZ2NLY1F"1-Z9 M_J94Q-0@T%!X)(,TPV\ !TP5V-LW1?F%0G+)# -)4:[4B 4P?&,,E]I\0HP! M3X<'LA">)'"Q)G#'BA(#G$I&)\G?@7. "P&[YB--TKQ6G$N M+U;->)P.4_P9;KXRYXJOZ#S;O>@7_?8DEU> 2H*M9/ 4V"2\:*(R4BJ_[EWN M18,D_R*_XI. PYH^YWWT Z/R4[0%V)W.8Y1YW& M GZL13S([Q)EEW;HK4U@:%OBJ3+S$UEM@97Q\X M62H;XF-CDT ML0BV+WC^1XVYEW$&2T:T@/FQQ?D+L M:C0:IXL\_?A*#=V/>C%''5X0L0JXIW"YOO]!GR3E9FV\EM+_<#Q9,JO4#_I? M?@3C:)8E\Q_2G#9)/_I1SER"O!UMZ40%_MA&./?V.3R9OEXCSYJ59_Q M9\?@ )^>+?T8#.I[?M8_/;S7+V];;.]H[_!@^<<;N-C^2H^]HP=@C3J">WRU MHX*4.STW6AP)^$ MA[<:6&'%X__-]S2> ]APEV]JUQ8W^SX>@THY.]OZAO3 =-O$=*@$3@_N":?_ M8*)^E9+UIXTSK5FA>%DTY9!#FQ;XQ6[IU V_S"(E92W8. V;J:UK5K*&6 MAGPI)DIUHTY47 ?+O8>X47(,.)8J4L .*8;#,%"=E#FFF%15%[ER!\=3)/@* M@[:S9,XQ41T.3H:3%-ZN8]\C-89]D123N"V5N@Y^5Q1%Y^4.@1D3S'\7\R2K MY_:AF $H)0KO_CZY*I7$8BG%O)$56.]5.?Q"^_M07&-E4O6XM?)%1SI%;#*7O2F*9'*L9P^?OKSY;^BBV*D7E\7&4B.1]G'\=Z=H*"W ME,GW]V[%! 59>G+XX[-6$)YKGJ6[1NDN/-I942M*[2-I2C54FUS[).N\: M90C*!/[*V:[OCISB%*1P_]2FF3&=BX7E>.,X\>-D[>B*PS(JU;KH7:^E/![F MJ=,I28^Q7'8I=G"?46'2T,D2*\SVX<.:6<$,5S3UL)@JFV7+3%Z'ZL=[)S\N M3Q51"@Y.2.1'BI)""Q$XFGJ"*4L@WD;*A>49G%!D_L_^R:86F6^\C1!'LZ:L MF@3NAU1S8#ZRTL5''\?PV#*ZY-(H1QK)![,D'44-7"BL:L,?;>3E^>[ J>9] M5GT*HN:\N6JJFG.+&WE:-Y,4I.<-E8(-,3J$#55HDZD2BW[$3-R+/K88)['< M<;;_=\U!R!%L4TXJ)U>@DH!%7J3?2XU$1$$Z M]DI>_?OE<>\8"S"H0,96.SQZL]>MFTA!UW\\__>[7_[G[2M0Q8>G!S^RF5U- M4M:_(S 42;^CT5]$[1R7E&R_2''76"+;+@E-\GF4PV(]G8YEFBDHGPKMB;:% M+T**5!-51,!KS?O/X=\R=I0%[(.=,<:8PM4+_13@Y+2M3M(E_Y$5CP8O[ M@D06Y%R(Z 9,8S68ZP4U-=A2?^*] DNNU/W!^ Z/684G8"DW28DE4>;)5%-* MIZ 9Q#0!PHFD=-(Q>5=RF17=Y:NR)W82T5E.F.)AQ7".9XD'"NKK(\RNY(DWD;=[Z.& MDQPV=#7WKJ(X9>+#3.$_KVV!&3I%.^!R/^LM@1.M%=! Y6"Y*\4"S])B!KO! M)J;82&#V?*=3K!%-2,ZAEL*_FIB92&>W2A%)]?KBE^ARGJ,;G%;Z=N@7R!-F M%$&#+P\:T'&JJA;TGQ_EHLN%"QB"E0F^W9S8E>A9C(> Y"?2$'*IW5E6VH,,LDI0TNV7"22(6MYIUXW7.(6];1 MNH?/6\T()Z%V"GYQHTNWB.%@W(*:SK)BKM1+KY97:K>QGM>)$<4D^7*JM;5; MA_5A=2YH>%KY(N.AV0*/*.%4EA_&@_9]U(R\X0('HAP!:O7YT_I^ZZ!4+CV0_K>W')4HPL M7\(US>#__R.9SGX$B\43BK4J(PBJBG( 5Q1_25AF M8FM>J2P@%4C/!GY:T[)TQ\ T00,3HW[8_T62';] #C#\?TQ?0#@>ZG@ )Y0Z MSE[.L7=!>C_Y1^@M?U7#QO7(X$)( BF!YWQ-I\V4VE&/]AT7%)M80 >I)=TS MS\D0KZS#NUI[7#_>/SF+#P]ZMVP)3AVT9%I5#88 L%>SR$8+<5@\.FFHD0P/ M^A7D RI0PK/\<2ZEGO1^6TM#G'TW6'/B2W80R\5=A3A4JZ3-",W#S4X*EHG MFP?+H9Z^4GP?(""P1,)C^=P-GR3[]1MZU2[V3!=+I MW:1HZE V3S=D"SO*098X A8W* 0&"#5YX7X(_AUL+VDZXN^Q*?EYJT J!&JLI5'O:QWU#D3\ M/Z]*TL&G ;6'DR0"_RR=4A\JQG.K9CIC[B"&PYM+42+Q[&_* CO51;7PE=4! M6FZOTV2JI!:J*HJ6MB'W];^*&[@D9:Q-(^R8]4HKY'A2 M$6%-R;XLW +!&'(( *XL"-2]R$NXRH.'DZ+@4'ZEU!4T 3N1B)8+;1UVIPV8]D<,O[A'$@=L*>):Y(A M3^$_G69)AD LWAC3E7A54Q8UCHDKH3$!S"1=RFG+SY@F7S!I8"@N=62Z$1Q) M:3@$& [)#UK]"S:S$QLW.3TS-E5%MA"*85MT0>$X93P.X)=*7!(PPW)JHS:! M4TQIHP+$(%M2T]W)DG2*O#V&=R,7)^4<;N]XB6#$8%>:.W?/;;WO4'>5$;OX MRR9/=,TD1D X_E&4W-^?$#*.$]B5E":BE>48)Z1CQ"K*U0IP?>7:C!4;8!T938,^Y"J'$9DB@HUI/(*81J2'/*DC#D M3H6^%X=R%<>?D&]*83?/:"-S=0(N&Y+AAO0GLH!"?SLC5J,7HM]&)S12@]J^ MET_4T%O2H?:^&/W@.Q.$7IL..:D$RAR>IJF5I=.T;B-K8'*V$2P"?5$)HX!T M&J7_(LU^O$R'C1=HBN5W5!9DN&Z<7 -CR@,:H46-8$EZ\V-P)CN?SH]D+ /^ MBM9C[K>T-4NQ RX/-J:FEVK02"'BCSA:3N+ZK9,QE\,U8FL43,GH&DXU84QI MPNU15^BT^:)'WPS#M87/;82K0Q+R!C<.A)L5>H76]9O!WRLRD:WK"$HAA>W# M&L#S(:JJ$9TF&7F39(;VNLL?),Y$A6;PIX+1)(#5ZH5[A[+47;+-$E!,2")) M09'^947ZT2A2T46W"K&[9%>,%F:-]P3E-H&'.)D[Y+0!Z0J1O1K=QLL4M8ID M;-C"\1!$2V$M'TD;V!CJ_(FS^HB:0)B_KTJ,5$DY2I=\0!'3DA'$RBVG4G_5 MA)ZLFFD)*3$KQPWGVE&I*S\OBM*!M9MH'T_VA?K96^IG3W>C?O8I0@=K)NX( MK> ->F-;%K?R(7@PW"DX//-VNANNW"JQ<1)# 5$G(.H\*:+.-K2E=O=LW@?N MYFS3X&[N!D&D$_B \N,]RX_7B_)C'?2;QX%2NA=TS@8>](JX2G=O]]LZLX?! M7]HFF?1!2239%-,-YM$+JNY-\^\[:[\"_E( KUE_UR\.>_'QOIT*MQFX-8%] M _NNAO42]X\W$CWL6T!>,DI*]))T4#R 6EIUON?!>@?:>9,WCZE?',5GQP>K MB^3-PR[:=0+U^O%Q;PVE^= X/]^V]6N3>8]K_:[$Q1W'NR5!E0%]<"**X;?0[ R6_3<5EO M\QM^K_MG&T38C/\[L"^WSK[@O%P=+IAW"LJJU59P-/AGRE; 2^/1D6# MF=5UX_>/^,*UL$+E"2_QYE%&?'/;=&VVGZMY?C%A\O-%1V'S:QWNWJL.O'3V M@IMA3ZM4!V WVV'/&>6+\XW2"HT9P!L&+^$ MRDBI\KYJK:VJE)[MF'))8-HY9FX[*8(E&]\=GGHXG=:@S+U@V5\GV%^:!\I- M-;539ZYMWTH;O[;KD:Z2:5W2>[)?)! ZXH>BHF>9VE'"SC [-;/"'HM!MEA2 MO361TQV75%TAXO48WV?HI&:4 EVG^%UO[\#R-3A$S ACX[WE7]\9O*,ONCBY>]A9_IAAK;>$S%G\+A MWG3B+M@1N!8U5^BC!RIH3;8AFB_Z[HRP)O%YXF@@UQW/5TDU/*$ E2GWO"0- M)]=JX[(#)4G,+?0UR#3+NXDN;3H,G8>-_ZL3?8M%XAL3Y=U1D>@&M[M"VNNQ M,W?D(;S@Z=Z)N4/KDQ .XV[9 MBV?.0/5.<_%AN60UH=6H]H;BM(C6<12*F45/IL .\_SS/<7.?%';IA3:?V]I\SI:W^:PN MRLYZ1I0]0F_0>A+D'CU$?WOJ1I.SL[W3H_Y]^DS@AZ?WZ]RX[:FG)WMG*S:$ M/&R/!1#@F2JXWWY^_5[0L/96R)9NS;[^^]=S4,^?SS^__9_7I)GA#^_T?[]Z M>WGQ[I?+7S^AUO[IEU\_1^_//_WK]>?HT]O+?RW6LR]&XU<4!X<;9=DL]?FZ M;9WWC"[Q*:V^1.^-QMXRNZ8%[TN^>U+F!') !JV%$1AG#=H";&J(6>U$0L'F M@0?G@FHSQ$9;_C0J&5(^):S.JN;_=J9["2P,60Z$*47G6N*YJJ^@.1D-JF3] MG16BOS^"JQ:]?1M';Q$(_N13D=S_0T"(O?V7_YKFZ!1*S3=O9W=R79.W:E&ZI\O5!0*A?'=RZ 37DGH94B'!5+A@S(2*SK.B MDBF:F,2K8#.JN68T[B9G%#KDLHG*.!S6!A^;-25PHV(LC%%!7>8.'(<;,B._ MMDQ& MI1S=2P85O1>H),&0^5"W^0..)P%I&GJ"C$G M%SB00>JFF-AU\'&Z6)N-#$0JD)N 50&@%X8:U$Y_U=T@*I$:,0TX\^L. 7 H MU#H2MG@(#A'^+45DSH6W:$/H'HMHW_)2O9P"?9M2SQ+2>*Q(]GJ1*KP\88\8 M YLQ* BD +R'LSD+X2031.J0/QJD+8&=>M26Y-1;VNL>9P/.1Z9TYJDN/%@]C!I?D M*T70@"F_.SPPT!G;K[O?&FL+3^(#7!7VQXC,,@;@TJ0K-V^[=^&T%C=YU$K" MHCR8VDTNYF0QW S2$)@$+,_,0K,S+K=A% OFQGS#YO'BXUA78&[$D9Y868,P M;^6T>@D6^E4]T;\D[9$,'<#!JICAF"/X(3(V+M\BHZ'YKU4-[I)P03E?9 *] MSC3)2NF5M5XD L_13%4*%$E*DR+J_!D_>Z#J&R7&BUD&W;2&W5%C)_/5XK@W MSFFBZVA[V'XCI MGH[G(3)]RUTYW'^0R/1)B$RO%9D^W3L[/0J1Z8V(3!_N5&3ZXI,0CN[FAN[F9V9SX"R!F]11Z^I)!A1PI-$/8&]9C!M!W+=B\P3QX27X# M_2*E'#R?K8L7/FA%D0FX5+L"YS0)8490QZD=81SS*C%Q' N0'9;,Q=)0A]^7 M60MBD],,'!T=P=@?&$_*.$.7KR_^$Q[>Z%EDN% ]ZUZ/V7&7C_AYPV$S;=A< MTH6932YVE>32;=& BZ_.GK*,X=,S=J[1*@&C T?R"*"M_8ZM#M E 9*8EY_0 MY"#R+. WL("84'81[(_V36;G,*W(RBK555+ZF.V6$3;0![DSTO9TAZQ8-JB1 MX^"V(B"KW"D:ODVS0 ;SZ!/Q7*^?O.P=O5 \J+5W-)+_TF.7G-NP%_VD?0#" M$2[5=:INXD?8,.Y :@#I%K#)O\(.:1Z2.1["(EX:+""4Z6ZAD2'B\09RY)H: MY<)&<-]J42K*A$=PO3%TX 09D&#S-GU7)5:IF.RY%[)&AFOK#]ZT9;Y2;QK< M HS-:+D,7\_5T Y!I3MGM;.17CC%-"F3JS*93:(7([HTGOIPKQ@Z='R]9'S/ MD()%(UW,5-"(3)R(#&P.B]/SL.G+E+1QIAGIH:H$H8SZT+ QXGU_0;E;%XL_ MB-<[%EV]I8_7]?Q;M5NK'[73MY.,N.16HXJCVSYZR,+8YPQ(X29@A]"H7F,OVD8NO#W RL9\+/)LWJT.,'A*@P/,[N!I M>'4-LU.('5Y?L3V**ZQY/$F-H>AI6MGBRM80'_V\*[H&*^BX:8,9737.=&($ M*R:,GBR5R .9*(S1Y+I$P]L,.R&@=G/T:>69Q&#+P3'H E.*C?N4'0#KCE,. M*9OPU+*UZLB3W/BTE#&ZT7E6%;$>0:ZGP2#5E><%^98.S5R@F+DVIUL)#EP? M58K0)LVB.+9&26L02!HW'OY"\^6PZMOJ#1QWD4H?0%&:8P42X8Q6*1&?92DQ MAM$.;IFJ2RH]$3-%!/V[;5R)N> ]OW]P* 0$O8!@[R$"@K#=K8X(/@,YNO7B MQ_-/G]D,?_MV+_KE\W^]_A2]_?#FET_OSS^__>7#?;LB>OO]NXL'0\'N_WS^CN.FKU^]_?#S5@1.[XHCZEDO,C(1 MW1OJU2.GAY-ITF&B1\!A^_V56!4R4\E^*5-72:9[PC 3?^_FK-[^<1!#3RB& M'@I[=A/2-KWS5?(VV[]C;!J(WIQ??/[ET_8+H_]3-%$UD6'5X)/13"G"F]&= MH^B.8-BU&I;I &-&BF+CQ94B(60\")9);J0?&XYQT.*$4P7@I_TWAX3@%1RN MB[UIV0O1GM;45!N,,3X.#=ADCTJJ1KG.H7O16NS2E="(7;!TJ(O&E]I<Z&VU!0,/_,?UCUE#Q/N/!43WT\3-69;%0]2/%8I/C%-DZ 2J+ M?X)1;JXQ)M/44(%E'MA1*4X$;@10 N^,,P<:CIN1%U +J5S=J-5KRP/UUKU( M2!\<"BW)#TLJ0>*RQ2C2&Z/Q=6 Y#5H::/?#33O_^#8V)=;8YR"> 0C#U *' M4"623+>')]:2(&_;X5C/T66+:R3%I7Y(9]M:X)YG%\.81,,$H\,T);-2!B0 MXW.89$KSF.&5)C_SVE9G!&Y#TI._J1E#%W&- MDS1#N=$>I,T99:G4XOPBW-]).M,H03HKW@CJEDR5U_4#[FQS_-L4W9M6+9)ETL/WKU[Y?'O6.D]\'^/A:A7]<3#.['DLLB7-]"VUA#56)KW "; M 1%^CO( (+)5#F>N%!;^F-MLZG'.M0&-H-]!:&3T$U4NB =S'#;$:3 MIS;,+>V0TZ)4)EJ641"-L%A( '&U&P54KZB!O>3:UW12%"-Q69 = X\]%H_] MC)5Y-^6=)8)CTB3L37E/&R MLW2(R 1.T"*0^A'%"8K\2?)G4HZ*IC)ZW53;VVR;CH!CH2I52PKVJT^<#PIB7B KR(E).I^/IXCA,"=8K2 M.3EG2IAC!W!E(42F\08(+QB[41A4@(UJSO7!D7&WG2C70AVSK)@3$8S/,M=$R](Q1CE3NI-UP?>=(#VT71L0.6XKP#]87H#_ M"*7T]R^1#Y=IW:"#]&&1YC')IZ(5.HZ* 1GO8D5@O03UBU]CN0MV+X)J,^$' M'D"C;0')%L22>])?HO!AJ;":PC58]+UV7B2-30*5;]6OQ>5R6QH=N2V89T%? M/F[ &WT0E63W!,DMR'=R6^W&9-%S D0S02^'/L920 EA8 M,.?FI+ L')ZE[5/?>>G,0RZM('2BVORN@5HP[D(2_'$5NJ/(D1H(/Z!B4VP5 MZVRU+O@D:]S70M4G*E1KQ UWO05>KCM#Q M[XX;*@D=%37/C4%>UEV=V7Q='F#H$H;-M,9?[""*@I&BRNMTR.V==_%-X)"G MX9#/D[0<\8@NZ;0=9DDZ-572"3E:8\16@/_%T75:9%SGC968:65!:Z1Z/;V= MKJ[]H*T.'3BO:BE]P9#!2ZS_;Z:MMB/6%4M3X$6YD 'WO9%NA@R*Y9$=^@%! M01;9-5?SHV'1I$;7D$C!2BELVT"@@#MD@]^P005S4F\:MUF'R_]O4SR!T@\; MNF%5KZL?5B4I#J!"0&Q,KF*TX*8HLV#O/:;?0.9Z6@R3.LGFE4:YKHM,@9[W M!+LN1"5SW$EWQYQWU"8[>@PRU<<1*X!':H)KJ0Q$>Y6^D 1Y(,_VC2*O7GYW&;6^"!1^(!&:9$'1F@$HMI.G2 6232?D415)SK M(JC,=W7\<6*21W/2,(% P$=KO-%U(I0K*QL92Z. WI=(52/2%BEFC7\0/F1TRB[@5AQ MMW>T4G?O)R7.*.P.8QT_N96REUP[LX%SO.B)JZ/@/7BKY.:=R%U8);1_&L:# M=9;.WH'>QKW 0<"DH&Q(6[X%Y_5=OV^GG<71=P<].[F+5=IW!X=[^_Y0A+N*S640;@] C\]H'_V^.?P;_NQ[B0BE2J//3YS'LLOZG6\:+5QW?RB M _]%=\QSH5_IM+@C-M$L(#("W Y3JD;\[O#,'7)&&SCT3\]?2U<5 M/-9XI'FSV/"PO#S>J"&Q3V=8YYX,J0<5Y)=MI$$Z6XO%3%\RQ=FFT,U3;#KV M$]^R! *ROO@ENISGZ-FDU:,HBV,4_"MHBX6L-U[3E_V]#O0:G#*"#R M=WAZ M\*PSN:*/L%X$Y)#VE]*^^KE1/1M@B:+3FH_;MQ\F0 @5) MC])3F9RTL9M+F*F2L%Q0RG,BVZ=@,KJFSY#\7J$\UC"'"_RP%U@C&0MH2EZT M)P1(MQF'@3I3/]*T1"BBEH& ^ZY379JN4P_TU>7WC5LM_S!@/E0$06-JX?#2 M2NLAG0OO? 8)FG1L!PQX&*Z=;TV!M8K\2L\NHYL"E$MG!-M_TQD%-?SOUZ?I MR@_.ORU98/<3JZ;B6N[2BJGU3B<46]U2;-7?DF*KC759_@)D"$%G&2YNU469 MT9=.I=28TIBT8'M6BHC MT_!6P[;)%*VY@#]A98>A&9D.J#5J1]$6#4.1DS#X5-OFF)DQIC<:35++QE9( M"0'*[+ VH-C XX^JX^"E\,@:#MKT:%D![9DA0=T_H+WN-I$U%<]JN/,^EN8^ M+ID"D98M^G>0G\6 =17;YF+K Z]]"6=>F*"Z9L<44Z!II8> ;5N1XF_<,C-A,\^]%L&]:& M="GIX0:(EH26 Z8;C4XV/BN6HU6F)=M^(P3U =U&F=9=K9Y"(5G*=4 MCOP!!< 1_UE%/R/SO+,O^(C(+CA5VRV4_G&[&69->V_;6*AJ!KJ'3@9> &EY M>$;$4Y"EX@Q8!)?!8F(VRS _[LJ(MQ_,P'E3VH824UQ<.U%EH'!&>C1I8#_6 M=!3V$QT+;-$IL0,O;3(OF3Z,P9QA1BT(4)H#(]6-,!)/>HL&15*.+ -]^DDS M$";H0/LK'N*F$BQQ,XR2UH:':+J[RT%S6V0'5@E;'%Q'A3\+W+/)W.,&."D, M*G-U..B<92^E/38#HBX1'AW*BE34A?ZB45":Z7Z^^.@PG55:5+*G>Y.9@9*Q MPC#4C.=]DQ8M0.$.Y]&+@IH&X W#N9ETN&#)4\2:>!G#NC(B="1B=,M9L M*A ].(9/FU64'EFJ):.?Q-.HHG<"']&E'7]Z9RSHB&)DD6^[H='59N? $QO$ M$WC5Z]3JKJ6WG'4?LD].)Q4FC3UI- 0/UA'K_*K>C+G+J;([V*B*3C25,U->3P:E_)' M(+/!I"9P-\I[KQ/@I4(MF[.R-5MW( ZL&,CO!"-PLC<>P&D;TM2+M*>=S>YW M[*ZK%=XR'=NSNC1H">1!)(4-1!09,TT%+.W(OY ^=C*#BBK/&&.HS2*4DR>C M6'\2RP;AV]JEIRB2V\7AA*JYQO-WL)J'7CM^N\A(XMB]DQ\)5K"IDDQFU"*X M$P):R7RWQ)KP,1W5J$QN1%SG[BJ3DB86@^U0$PDTV4N%F)BZ,L?B0' 7&!U2 M,A0H *D5L>V@7..:Z\9_B9UI(.6.3H0-%!GK5_:N.<7AH482/968_(7N*MMU M!D"7]URFUQK^K&O/7^ ../M^<[\R62L5*)=)@0B,/URGHR:1,6-UF0X:?'EO M_^]4-5V4IG2O+C@GQ]"*&&9I\II@.>%U1W^G-QT=_KWSZU6[,O8W)57]MQ.Y M73(G;V6<%P]KA8#6;$>512B6PT)%4RG%2H?$).95P1K7[W+@2O$YNI:HLC.@ MX=&VBFB<-=B^6;M]8Y:J9B:X-P8,%25657(3H0-O;Z0^XRGG),T2E-0#,SZ! M]^5NV9X2M:;$=XXONWUD F=FUYJ9$ JD_GEX& JD_IKD_\M#8^([)L9P5Q#\ M>TE70PH)Q*[A%(*6 =BBR[-.%.-(8J#'*JI?E#^/673]EX3!39( M*:U\^/8,I0EGDPD1_39),]5JX]-S?F6@IN+2[6)DL47='205'#CC/&'J2G3= M8N&/71S:U1-!,/;>VE1Z>N/"M)R$LZ*MI@Y0'.C)L'OH8UJ9ZGMX6(9:0X_9 M83AK,?/IS,4UN8/"/"W342UH##18ZI/I!P@M*L;(YJ9G_J>N"1JFY;"9(B+6 MD("\\SFCK+5F %F]MSAD]"%UUEI6$GD;V@Q+8$V_%Z53K9]&*?6K>Q> M/-D-% 3K6N0/-0[J3@8WH)H[Z",U>!Q0JT&;%%N#! ZOZ3 MI\A5RS68'^Z.9!6UBA-P MK.HN:KC?I '.UZ366[&*>XIO"VBTJ!\V\(H\5JRC>(Q1:9&\_J8HOTC#./!\ MEH[GU#JVY*4N>$UK>H(&59T4-]2C5$\*CED1B&(GZJ&.XY9!9X0E/<:O M905'*:L?I/7[Y:1 _"%)1](7/ZG1#57!4!O5!=*Z*/,TX2Y4DGM@MN"PE7+T M$HW9>1<7< KJ*LG3/S6&Z3O,GL+.HY^G@_^*_B.9SGZ,+HJ]Z%\_&Y6NOV)+ M V%!_TIF8Y4#EU_%T3E0K<2UG%]<1J^*P1A,_,N]V=[YGC4++BY-:6'T@NI2 M2S/M'23LJX\3\R-^P7F>@#$;1V\1>XFW>9Z! 4(1]W?O+O [;X"XZ0A>[&7. M]J*?M8-"*D**DJ)J"G\"YN8KYY^*.73N%*VY:IVQOO&>=O_*B.?N&T?WE*P> M+1CLF(!D!M3EJ^!*97/#SUU0_YNVM&EFA0"?. 574G?/S^7).X89%L7/'5N3 M?(]F8>W\=/2N\Q GBX=>F5C8&L@J&W*-SZGR#/8OK$,HP=QU@= R*1:(-8P2 MC&X7LZ6/9T/(H@Y5J(U PU*V""%J=\@Q9:Z9<]$ K54J>$:4>;D&I\YT5&9) MD^/@->Z0-C !GOAQ!PWL1:\Y:>63V_"-*[43-H.7\Q%[V^YS")A'ZWX'C\FQ MJEU890WAL@1BF5[0E2NA.*P>.TD)G4YYQU$(437H(I,Y(_T=UT763 54@8^D M<"9\4&,I#_CP;VCK9-ME'Q3A!7.4P<=TM[Z3I"-%7;>2$ MU\$W)2/*>OW9R1#A5=CF!C=3YA/QHH<)Z@%AY'3!<($/TFOE-T^V@DFFB9DA M!W3#!C@4]L_3'UXB6,E.\V!DI"0AY:$#]LYK]W59N[S'7B9ZA9*?Y-6-N3YN__\T M^>+CW=LQ-'H2$+'RH$G11R;\0V-+E#J)1V?/,H"*#'QU@,>-M\GKM*3PYCBY M+KA:A' &='B'N@);C&2E*-(_)3.*SWHX*= K,8O4O;A+SUX;T#&>,5,:(2.C M^J80)"1TP[C'5[H1>)SQT* CZ#-W4#]U59>C/SS?[)SC3[;MD;K!1Z1=$#=2 MK'#>!-N>8A0ND.C.4NRL0[F3MG&' M@RI%$+EDN,11EWCNH#\:$2F6TI,5BAM::(!=!9M*D69YF2GP2:BST^KU[/ M_=*B,:9G7&"Q'=8'4>BV1E>C)8J74"Q%:K MH8 )QA(6?TY1/27L[2R,B'=',?H.@A=9X3FQ>MAXP4%,.+HI%1NA!9-.):YA ME;.!>7*W;-1^P9:E!'K@K(M:Z25*2:8[)MO35>B@2/B4+0(#$^UJ,W<(LHY2 MX20!:[]RR5&E.GZ(4ACX +=FDL=LLW8GART$G2TCI:"D_,I?/&7\V/;PI!,' M/-J3,(%+&LQEE_&27:()JS%/G*QZ*LFE>O%\:!%EB4-"C8\L-'!L98>611N( M+79-F'AI%7[EPKV]!],)F2?N$G*)SR<:BIA>&)O<(T[KA)M;W_(;+4A;LT#X M0TJOJ[;;2:8!FHIF&+)W]5IW?0D4=I>]Q95J9#(:;,F6!'@[]K'02/U4'+>* M(\HLRR+(V$*;9 MJND!Y2%@SF6^*HL;7QSA'RFRW.9!L3DEU@27GGT39U28LRZ-HX2R2H%4I0[G M111$SJP1U"%>0O9MJ<#&/4\[6+EC,(GAKCW"$_89QA^P;OP++E:W1LK]4GX+ MQCFN:/Q#P-E^I.849^B5QDNFZ[[$5BBH C^]-GRU<$];@9R6N*>09HV9R4?L MA@PD7528/%Q0M^24KE9P)PS[$E>&6;A:">6(%6N6&T0+;41<&X+(U M@4XT@_$, B<\(B?XN0().$PQ^0R.>%2E^*])KGR''>5]H,IC467Q.F+^@(,T MT@@F%"NPM-H)'J08/9E*<$QFB[ECY0LWGRC5@AHDW;Y#?-QIH/#34=BB>YNZ M2S:2%NRO3N?4_"K0[,EI9N]BIMNQY3I*1LZH/5U)D-_B,G6I0ET@*;7+TA>C M$4SM=+)87K6DC%S,;;?[ O8P+\S0 @IJ_HA?#5ST9%SD9#J-J^16@/DY386! M:-W @R&W5)M5;A!/ RAF9A:$XX!O=.?)[? 1R1FQB(XM>Y(W%FLK3>K:; J'*@P),Y!**&]:_3;= M+IR$>I"530-%Y:Y&EX&8IJC2[YCJV,Q>],I+:I!.X[ 0*ISZ1BEIH9H6XBOJ M6>I>KH,2 )&@Y2\>&3;L4)N>SEV-EK]5ISPPFDP6%* [/M;DXEG55?5+.Y>!T_,, M1LGY^4#K1Z8UM0AZG8%X=4MXV5B5%E[1).*\N9[MWB$#CKFLA=LB"="M'GMA MRHMNJ?$50X>ANGS)2 ?@=WP&*9= M1-:%9XJ])9WS2$,.XC'IN^*57=0/=&G;W69$?5M9I_M 699,J3":K>^J-4.X M4P5)]^1=36I! CR!9>?$K9R4E(%*:Y'44ED;@M3ST5!\VVFKXR[6H/>?5N_K M[LLLU5D>-T[9Y(Q,!%J?)\]$SI 9!BLM3]]-P58 MVL>!RB0L\6"B\G6Z4Q$RG=XO['1'NFO>!SD]T:Q5.>A<40-,* M@"U$A)XDU+Q6#F&07($X3T*<=,A.,!.INIU*U/5!>3P/?GV@[.01S@* X31+VJ4B&6 R5$RQ<2WOYK95I]&Y<@8>@$JJ_C *7[./JP]S\6T0W^8@'A?CJ_? /_3.:4$:8FWX*#3 PS[<#V M3!6<[4A"FP/=A\F(P0Y\B=8&IS3.A26T ]X$*!BL;[]-F4Z#)4U_OD*R93\N$7YWLZ9B

'ET@3,(Z/=OY9K""?Z4%D[!+YT_0G]J"$<*QF''>*HR+)SP[HA;B(C8U4@M M-DYMY01>RN=,,M7.47EJ )YWG<(%W\BR*Q$T(#$2)R)GH[5MI/"H,7"X5DRC M6**:4_I(--ONB L&F$?4RKEG+:2+$(0ZM(R7NX4_I@_W:7BTVPK:S-(_TM!: M]#IMZBH5J9RCNTEQNSC*B_PEG7(B$ZIL,Z!A2/S$ 55M@32-%V&\VQD"A@2F M2C"44<;V-BB9GFGW8@ "R;L.DIJRZX[,1]^3.:!;PS-JH&X9I/Q'*%+<\P50 M.F&21UEQXXTEN^7@"#-OIVQZX;HNR&Z>306#GMI&%5YR(": M8/&A96:&P^$?B\A>7.40'>DTQY0"X7*JK%N/6"XZ;+(KE,2&L,] M=B281Y(O295<%?!W\1WH]Q=%.=/5S*'(])8BTY/=*#+=-.'-@IJL,\?4;>A* MM45G"V&\ @,#1RV-R^0*!9G4QY>*\>%;%TN+:.,_2N#'\='U#;+.-EZ<5\W' M@L!2K5\C0<^DE"%+ OMM$M9:U/YC-_ M-?].H\O/YX+V"D<3_0RTG$7O:MC[)09MQRB)P/#E:;GB+$U08S]?W 4L+_\>\R\$&!HF9B\][@ A48= M"@-L=J#"87K9-!V6!6^TT@BFZBL%H1DX'BRE3 V;3%G09(V5S'.RN W4J=WH M?IC!"36T)_'J,H X5IKBI(%-]SUA)B.8F?X#7%]F&8W"J7'N.UCEIT_G;S]$ MYS_'T7GYIT+D_.'+=Z^'=<+P__CPU]>L7>@O.V.#M<#\M$KT:O,(V\^!N=(1 MU-NCGT[H&_P)5:.7[/=R,TY;;05)!Z".1@?V8J,TN0Q#[GJJ.)GC/%NYJIQ> M&8K&"PZL0;#*G5?NX01ZIU'$.O$"WNP.'-$1>%M'YHQ^68Y 2+#W50';R5H6 M@ >X)VD#XO\Y\SZ\NT1#SK?B>!OP*FQAL;],1VX#4((UR=043UUSVB2.!EDQ M_*+!=1>[J[1^9[^Y]-Y(9B/1:6!&FX!IVHI/MR:HN$?*ZZ*Q/DX2"J=\9-VI M*%L2;W-1UL\B5">#9 ZK:]KC(;H6X*"?:0Z5K["!]@]69L)3J"N68="*1[T+(H1IFR(HQ F%,-, RO8K\7QH]K>E)$I3MVJY5V#0\U3[G M//'/S1XUN0*U59!$)L.],[L@S?J@(-#D-;%^JIF#VZG:,3\'%6^1PHS5"1>7 MJW@T*Q@T2;-N!\/)&\+ (H5GJ"M3Q3.W86SJ1AS37G4$T@4@*"5J[P+9%29K M8U^_]"VX2J^5HP,Q9O'%Q'82,&B9_?2T[KOFHZ)R'!WN7Y6*#"6P=_L6!R1; M9H&93*V&O=%I&\+^].NCB[(+S<_,Y_)[MA=A&'MD[(YNX?9AJ9&%-\4S1K.;Q#.9GL G.K5$8B4E]E14#..&)2K)Z$JE9RM] MQO+$8"PQG&S. U#T?RVAJCLX9IUA,9M'HUMOKD>123)J34D7.%<^XXR3;=,9 M9TV-<<&'8>ZLL,XO)E:<>0SBHS9 M-9 %OGJKBT#:SL95G_N[&[UO&:>+]W'9N7+,$G0^>*! XX3&F%%L1[=Z)U<$ M[RU &M8IU)1%H-\8D<52G-$L>,J:+?"_]1?C2,?C8K3=)07>-G"Y64FWJNLD M@47"DN@_\F/22&C!9EI J92H<7+DO4%1TISBK"!VC9T\A_ZHH%9V-"]*\&@H M?%R7J0ZSVE51K':D6VVJ25./BAN*Q!I"F+<,T73,,HOB,&O NQA&8"N F(-5 MNOI-WR7/Q&#QB2$BYF^S07!RZVA]WH#C\>'E95/.UNP!DMQ%W%D9LR4PG#!03NE!8*.\!'(S,!,_\0ORO%TK-R+2RS.F?=&R^,P"@U\YF"RF$Y^ MW86B:PGO*NK16QDD^1?.\3 YE=KNSD^X(=@&7EYX!HAF7_O'\W^]0#PC@ M1?3"?5-$D\BPD<+\4/_I>WNJY],F!>=AMS,2QJD9'L2,$+*6L/MNZ;$#5H98.0GI1G"BASCVP3Z MDDD?MIG TS&A7=8ACHON]*:AN&*$Z/E<+VXFBJXIS:"N9IA9P@G4G.$:F40: M6?/N3%SXG;@,8W!7U!"4P^A[K2!3,^Y:!L,Q8"";*[*/ KQ:* 0#.[R)2]N M,C6ZHHC;2D*6.DT^?N20SL(X8\.Q+4:T(Z+2TGE398TZ>&:@]F-16Z3,=3)$ MW>B/9H3KV52(YZM;A;H_-<-\,8W&6#&IJKJL7:O%!.7'V+H4MG"QJ!<[SEN& M>F")QV())",.U4P$7=@G$E6IB8W2]IW2BCQV"^Q%F%**FN,"O1[9;- &(S: M8*^"-"E_4=(B6RWZ]D[5-5TQS_5U\1_NN)KXU(;#;UJZTX3XRHTC! 9X+ 98 M03\O-G#$/$S4B[.(5&Y?:T^[Z[!<@\'J/Y5+\([ D36*["0F=I_"S MATD#[F?)WL +%R&UJ$Q*R4N=.S__GHB.MYV']6)Q:'+CX+LO-OXTTF35P1)M M[L(PO"[XQ$QQ562C5OAOI+OO")!.?!!:--7N8=*&N^$+..A::E"ELWITR\"+ M5249I9SE/82I$CCYJ9!(7PP45W51 P"G8VQ9:3<>G$;9Z(:V,W/&02WRH I) M856<006".W727%'ESA/LP"ZLOF]W;2$?=?O?Q+,FYLU= PQB;SPD\8PV,-NQ M9A[I-QF[GN;7<"]-=04V _-]IP,EF+_4G4W#\R(X]L;5?.U2HI3Z+P@AY.KA M$'">$,FBZUP05@]SC^T#DC2M/2?;-8+M.V5Z37(9P5NE$X_RPL!TEVI6*PQ; M_L?_ZAWO_]C?CRDN&T>]WM[)WYUP)0C==$0CG9.J4C3A(J] _G+KKUUG![$P M@&16[NP(,[R=VXMYZKV[Q=C;'"6[)U3J#-<4DQUS40B2S$:.@&O7*"II!M<5 M1;.!);OS].Q0:JE^88?6HGWL@2J\XRL"EZ>VSO#!V9 MPI?I6+)#W=LN)\?L_'%?&)L<&J.@>XIYJ6A>4L=YT5*HO-(,GJJ\-U*-@FF. M@'M*?1,$V8!G@5E),#CJ*,.R%%H>E:YSZ8 LBF+BMG4*'B+1?HI9O,2"_I/H% _V,8&.,- L"* D J?Q9V)/E MAKWH)ZU[D7Y'1E[4!5F4'8*BQ3Q+Y ;&K"7NM"C+K;=Q4V+?(57Y !W<1?I< MXA22W;K?98/ABR65UWM=QM&S5\AO4ZG_FN;":[#Q:1)'IJ[$F:D*32P!':7Q M80*61&:^RF'3BGI.E@P7*2A)5>>JLFO<8J:>Y_OD@]8'BIX:_IC"H8XG7Q854[I M47>@O3?27/3XFE^ I[<=L3_6RIOF!UXCPHH-B<2V*E[W4Z _N3[6Y)F[I# MZ+DTE:JO>25DN;9'?9EDV!*M8Y/S8L-X#:=\ 1BHI.*&U(XN[\7Q8AVMHNYS M+<5CF?+M*5,X6]VE)PT44"K;82"BOC7XM.\R/PZ;Y&.QYO ^+-^16?O0?>@OT>*A? M_.?AV9;4+P81\&@BH 0+I.02Q!9@H62%:4KBC<[W4._P30ZN\R2=.;:4<:S] M:XR%UA)$ZFJBE];W-I0R_J#]7)WR@>>66%7B6UN,%-/,<-0S[<6";L3M(?<: MZ72C;:<-9*B__?,;F!>PD9?6R]1J.#T&)M!=8'2M.<9(>MF!FR;U.RU&Z3@E MCTCPF^)6(;&V;#5.CH/I(BDML4,[5?U(49K!G2ZQ.Z@3&)?5^::6^[AXKA1+ M-LT>BQ2*#48D.HD%9<)%*H_4(*F5H$?H *5+6A?>PTX4,,2A.KPR&2FO3QC] M@A0#V!S =%=/"0O'(N,0M(=YJR/WVE5H-^22:3=!NVSD /+S4%PWWLV5!&.D M(J41DAKD.*ZA& X;GBCH3HY$W+(!NMF_3=*,P(HT$GH;I!JVE\U=O+I$U]=G ME !SH.:,71M+$WBFI"N0 D;>4PGVK,F=1SF_]X+*38[*#2?#4[!;_4%V:\5. M92O,S->,W"#66'A]S$+6B51[DYD[PM:F@!O]77HD.*K4 L[8,-H+I$1)/G=6 MACI[!R! =!+50.D9-J4&B1J;J:[@TC%V'O?>XC>IR0JQ!03_R'CL+O9$A._S MVVLY?D#9&B 'YH/PP:;I5N/-2#,M^]@2)RC(;@$^JIV9(E3E0/ZW!F?)R"6W MEOG5:Z$0KJ4(+E(6[PT2DAR=4UD&CNHJH1 KWWL1P/!)[7##K#"7/^ 83:>L@V D?9O. MU)B:LK,*5T\*2W?]K=0*Z^%L,2BU5@\T-J MMJ")00W62B$(R!RG;]QH)'A3E?L!EI;]Q_\ZZ/=_C"X-EUV8J LJF7/;L$=C M$:B$L7?8O8[)'*[H;*+R>99DX"KE:IHF=[_[G7"?^RZ+ =U]('"0(RI7Z^PR M&D=ODD$YUXA1M/2/B,AG,:1LY5K7\CXG7]0H<5=TXQ@<"*#9D)TIW9,:J81Q M6]U:*KQF/[7F9WL"+G7P;TDM+AHB"6E3<#,+&@F"/<^2IZ="&.P:Q@9+,D'X M68OW66,%T+P0Y_!66>(8;4W]%\==PW7I*5#8'TT(+03*JG%;O'6ZJ^$D1$UH M$X*^Z'RJZZV3"$&UW<(ROZB,9)\Q-XSHXS.P,TS%+4%,9_U'4JT MHCDAAI!SML$A[3@>9"P]IP)H01?03ZU16%U:,B2$(UY:D4[\$ A!47-X M?S[***Z-JH0:+$N47&">)ID+\ZT7Q]6TM(Q4Y\^<>O6N55@;BM01AC6:J9Z! ML:&FAH M\TM.]KMX#0C>K:-H]E4W254K%_O9ML 8:&E=%T&L,QQ2N2D'F^K$]NL2&W*9 MI@=,E]4\ N?WIIR[8L]9ZAN%Z#8:>#$6U$7INE$XR:"333E&K8\P;O6O\?6( MS8W1*21]4]AJF33P*SC)*I&C4S,3+94E*V3$'Q\YGF#9T)$MBU$ M5!B1EB/V?535<75C@4DLG7@= [@-E80TW%I;D!T9@HA<31@I*DO5M9Z$B74? MC#S');$DDU*JF+:11DG!5_@2QYQ(9G5N#HU@XN)+> V*- M,$A9+JXV()KR8%/@.PH$MR '$S^^)K0JRP(!FH018ZJSYMNF(9>-HJ?(!YS, MA15_M#E' -XME#7QS6@" Z=B7BC3%[2@G\&EB@F;3QK;93_T]';&I>:R;SU8 M%A%D&"#4\L?_C=- M)N.@>-54M$FOYDBN=Q*A[#*)("M;UF;4=^9KW&S100-ALM_!$-*P:#P(A)2K MH.5P]EJ??E(F,@D73G8O>MWQ4-%K5(E'P55,#H SC52B+@34=TP,S*#9&)SF M'CHJ,[$YV[T:ITX>:&PE$BL>_0N#,K3 R3 MX2,ENV[M;R\0YT;_T81 T,\GPSM1%1SX[X95S5.1Y7&,<4C/#DJ[2VL(C15H,!"M,>H\7YVAU#&(0/3[L& M;<]R_9)CDE'_]$#7U[[5HQ %#0Y4,R.C]U&NBX J: [?O5&;S\H@8-_(D_;8MXW7Q\KN7/GI3Z)9& M 0:.EW1(ZC4X-0%4Y\96& 5,<76E&F<,HIZVF]G(JQ*P-&0H1$S#&%VM$Y_. M\(_-BZ^O*R]DN_ M&?7U5^&X"T3C8]Q5_/N'I!HE?]A:2U,227=K&_67QQ@%%QB";"Z=$ MY6!:JQ$'AJZ5UV6P^J,[IK;%D6',Q>"T6%PG;Q19NW@$'LB[#./ MT8&C <]F+@[ZU7!DL>OZL6?B]5!C2*7(17#@$<_]5N4-9..[6OY;7$DQE\?D MS-AA33U@F5_HODQZC^'+4\PCL%>-8"M7Y#"R#'2;L$>"UJ_K_G5*F")?(T)$ M[ZKW7>_,'.-Q9W:52&@M^>U ,KAA M:)#T3GY$UL@;SLK3DM*I#_;0I4%LP&:@=+,L=]JA0"#]4S@RA? ^G;S0#6[" MIFDT4K@V/C J98[\84BY&+6ZXBDL2IE,#6['--%KV 031%JR##=.Q5"E1*RN M;Q-FA=G772O2!M7B,2U[ :<-UCJN3N'YAD+(M:VKMSMD[GK%A&U MXG,2*T;K1<;831A3 0/FA,!1EU2UT;;Y;(T< RS,*SBL*G8R$)R:T!.&G*RZ M/,L,/FV%E;J69C+1 CR#S87%L#$ID!I4Q+HBF.KI$D:XT,;[X?ZA-GHODW*0 M )>__.5KIN;1.;!O55A'R-D[WC/TN_%R>.UU="[](NZ22MQ M&I"1="6G^$GB@T=>0K@Z<$/4.(KB4]<01'R=!RZ&WXI) MZ:E -K+7R[40]"!ZZ^+#:/NLGO"@:=R;(!6X)1@\J,G8J%PO9D8J.1))1BK9 M&1I>4?RMT M4[X8TTG3TQS-51LB#1]Y(P:-7EBGCR-IUP-A8H#(8[G;T8KP / 'G)WD]+UA*F-/D+G;,$%_L'L#C MZ&HZ:)-%,V@G=L9S]_N&)H8':V+8P*[=O_W3*0A)N3@/;BM*5[:O%'K!0V6\ MH9$:4\$GFGL\;(CK-(S];06F+OUFU$M3MDW&Y%2INO5U=RR*,\'%6O!.8:TS M ]R7()4N8BEKS*1(7$G';;#_#+$Z68ZAL*$UN"4+IM&J;,DV%"1M<=;N,,4Q M$#FC?NKPC*Y@ $\7#3DKOED_R>!,5J^+Y> ^?)L&"+&RU$34_:Z5#N@=.VJF MU8*(-/K8:), M8NWIACQM7@2E&Y3N,RM=)Y>M/2;=:>5H2L>))3%6 UEYP>LP:J&\K$>_/ZU7G,X<;BIP>U$HS0C4T:W?K)H M\3? BMM8%PN;<7MMO(B80%5<*W)-A1,1G+'F M3GF1#SHBQ492,94B[,H,"Y==+B.CFW,1U*#OM9^9CHVB[.Q U[7ZMV,QWF$' MQBAN:B0CFL*,-F([,@C+G62+V+$B21P6E@8/[A"C'H:RQ(B&E'MHJ @Q_*6Z MMD0-@M[ZQ&T]8; M.OZKD@MO993>(OOB#6BQ,)UT*S!D0$[UQ(W8RZ@Z=\BV MUF%- $]T],._R+RZE8(L^6V-)JX9=&5IH/*KA%NZV[$6>Z2@3O"JTO U19K& MJ49'+C!M]AD%KQ3.I%4(,20%ZGH>SDH]6SO8J*4A8:8(D>3%LR0&Q6T;DLRG MZ2VSDG(_/F:'] _X7(_Q,YD%+-6 CIIPPV3< Q$O"D7K$1<:K,8GBQ ^($IPGU2?<)2O1!",Z8M;@G$PY"8,0(%;2=<$&@^-X[PX>V%N,EX"F'=KI\L[,@H7+2S,(5FYRO,27)/X%C#90,+'(B'I/$=^L=.A[51*@SCW+9#H MZ4FDFV4HT;B<,$49://DM*%4J%K6;N<$*/ /TAR*MN+NZ.ISW\SCP(AO%WN! MFK( @VY*^(_JJC0P&V;ZWLCWBULI3YLH:#". ;[ZC*PE:Z=K#!9#A)C!.73' MK:VNL46Z&JK#^IA#;%WUC$H/)))<.A/6,?8CAQ]AX9-T)CD>!YOM'[Q^JLKF M8(R#L!P[?:(Z**5[16/=_]JR#BD8Q+74&&@F^U74K;)3X$O3-P2V-EFT6#^N M]"@$"QVF"Z2^*!PS/T#^D>Y\2[ODZ:WBG^P(SCTBHM!Q[1 MB4)]7G(.2P!C##=2DP$Q(D$K2I;>1I5>^DTCE&X*.=V]-@I<_2X/-:GJ3G;Q'4,8)KVA9Q*'%=FF !B M.\:"I='155&,R#G''>!XLV2*R_A3FOK :+E*\5]E&AK3';_O!T&=.6>ZNI%J MVKAIB M2!Z^AKV,&N"E+AL]:-7*.?TJ.R1%G,].D'C+1!H\8PFX;7>?N[Y&K1X]&:7I MQ$Y-N:;W:%VPV-V;[T1(K0@P5DZI1F[WDA->T0!*S9(B8B<8[!23ZDNI$^GM MCIF$Y]4PK(?#K/1N/]^O=XU5E3,.(U,!-_>H&.3J/Q,+WGD7MK!!VVH%D3 < M&_+>M^2]#W8C[_WPY]4=&OU$9L4G*ZY^MICTGTR/VA99JNO7XYJDI3:^.NP3 MR2%T#)YNSRR7"50<9<2T X+W&10_D$>8L^/B(; 4=(-"S)T[.MEJIEIS7S:] M'+_$8"!:=>6F-H!U%TDPJO(TMK==KU<7ZD#S<+:TSAIA5.45M=1RWXK3US#Q/MRLXN@]5&*J4CQ?(7 M.C"R/:[9K$\J':#"0CU!P*"VA6$!AON?-#6;,*\,*L3/G\XO-2H$-I::W^N> MP$QFYI:H6M&XHV?@S]Q5H1>FLO%+\QWX+"72V8'V43,C/' #0ZH1,]QVG#\: M$$G44ZW3_W8S!#)I&E&=!:>RK 4@9Y Y3M^G?9*S8OXE,D)CH5I=>A!T MNT[.W'9+#"LSU\:>U'Q1?:]-%K?I"O: ]04)KP*$*OE8>K8*GB_:3Z:U60[- M+HZ<&C2/L@[<= O%R554\$I\#?E=MT&HM==MDJDNF&A!5Y L/C,.&=?;928N M;J[K:/@L#/X(/4PQR-,HK9CXC"'K_-CF?1:Y"YZ2EEWG(M&#E [0OWFT5*\Z M0-]B@0# 94G^LOK"!3EZ+33S':Q"<&3*5#"I1F5R8TKV.XED3D]7F)?:\L=4 M'\HGF35L1NY,$G1G:[S/&?#W)14%"2V!,KR2C0W9Y MR7LZ2E^:+R@RA,>.FTNN$FECF*BDWL;GX'E!7VC33[B55R&!$IETK+:(7= .0>LC! MM+K@]G&.Z>G9)AMX,"O5 ICA((@%])K"P^4VUHKV3@Z?MU04;E&M,+37-3&9 M>M=E!H7M?<+6'J/5\=9;N1=+KU.W?M.<79* M71;/>O;3(E-L=(W2Y"HO:2*6=.=U/C78.2^J2W#_):@K72':L/#B MR9LX&&LE.4+!X\OY87L2>H*)>3#>PA0PZ&NLP(QEJQB#4&H!.8P;) MV#;K?3H%%[>ZH'ZZ@ZUXA\-TI(,8BMT !&_.$EZ';OML#:5QOMT>^KD@;MH, MK=]HZVV=Q(LIN.556V$OJJ+&X$17FU07&=MF5WI-W68NIDR2:R^YKVSFL)6WEA-),6\M!O_9FR M=X35")!%4Y A^G3ZR]P(\E#\V!7/CG"C*-H86Q(/<\'4;#;-Y4RWP(GS+-MF MC)V[9RGHZ>SM>F[)_0Z0J&4C(F3Y YF5]&F"W*?$,.;AL3=@(#V;!CZ>KE5- M0)F4W)T6\@6LO*0_LMIX^46IF0Y&DC]=Z:2^,UU=0G.@HE]JO6F2I:! 01E'B'5="A! M]^.25PS"T\1;3-TNK(02EQTAS-N73PXW45-"5JC)= 6&$L1MU]QC3F/YY=T@ M,K(EY^L,^/;X0#;D(,S+98G:]TA[['O1I81K"4""YP[B>HP#^;K!2F+8%^P; M^,Y%]GW]JQ,(M5=-M^GR;7,'6RR.5<$M6JC$%HXB?:BN4W5#1=):6)+@D+MH M>=')/8QY) 4S((6J$=/<;#6;QV9SOVIEP(NE,AX%ERGU3"#L40&9E\W=F PF M5C@,*XD3EWVBW^&8JQ&W*^GBI5'L=7QPJ.9:U5SJ,]<]*S.JHX@X)$G@.K3.>)7/=; VR [ZI'!R@E."FF 0>/B0FY6=J M,7;FE@\L+#H5T31L#708_OS^8RN/1'EXC+9RU(+LP;36J"TCY=Q+&:Q*DT:L M#'*NU"8:0K?7J*]D\7 MF6?UE*;LA,\=$S T+(UP0RH7J;')T??+;=$"6T%B$9H3G4R Q%+$F 2X>DKE__>WG3 \ 4I(3R9*76[4562*!>?3T]./KK]>Z2->^ M.N#@_O!-P]#O0;U-,4(>QV:.,26P2US%E\IE6A4$->??(@[2@%E&%] R6RVR27TBM5F=>^)I[C! YUW#:-OMO;7MI0L^LX;!4/A@NP&WJP8UYC-' M.$TR>NW /?Z96N!-T'MZSU2+E:C#FKO%D06)- &U:6$';DM;>-=>8BI$\,<: MU7Q67AJQ;H^QB, 8A=N-OZV-AX=FQ!0,WFU VTS7A#$(^:9>!^E60]4R*:M* MZG#,9FZW[G;/+*8:\:-'DKT+X?.:&W(TY>/M M#M[>#G*<3/P[S;_Y+>KFWZ1=K$(;=[=W=Z4K5DE!^,DH>U^7@6?6Z[3[>_3TNT4U@K8G"E M:MB2Y)^,NH-?;W?C=G?#5"Y1/7"*"*@'EO=#L(B91]SW';$%\[D[AV,>VI'C M;^?II>^D:JO2.-82R6_J1VB1I7GG!3CUC:4>$9X M7#EA$!][O$0-?B',K!QU1*1*?,VX]?0Y8/312B#(QD2'S)SK+$K="PKOX+-T*-YV[6DS[,#-,('!&\ M9\">V:Z1@A:"720Z.$,\*!T#$X4T5L+-.02S"^H/D<49]8ACQ@]I#K7$&A$U M*;%$,9^5998@ZH'P.173@9 B-8?"5(MX!DW#,2&)\CFVJ)K[JI/\W2)3<*#TP7OJPF M;L0%=3\3-MKWN?*U-+X;4UYTL8X!7[&&MS?J:3#QW:<,C%9I M:3GI_"VV&CX=3FL.93$5=67"08@GLJG]:96V#'E/QW@=\=]](S%B]+1,:#XU MX[57EW>E[O8'&B)S$*"5L*-XNMT;D3NLV:&A]/75W[IK/?G.4EX8>EZJBA9. M1\NZ2_L9+E8":,11OJDCZ&R^V;]/+^)/O9ZL:E!6(P'M&E-6CLQ8+ M+PK'CV4$9CHOS[$(Q,+RN!:!IBS]0J4QIJ7V(8!1H$FRF\KK9/FQE(W94U81 M_-C2C]N3%8[Q#%3ZI1O82F6^@$F6E]H9T3/6B/J(R>K@!_=?@:DA%6[F Y(H=Z2L;4$FR,=S52L/9H4L%( M6VCK<:K",A@"X<<1*$'=LR,E LA')E@&'2N&"T\)QRHL[H,WH4F1!RG@@T&' M?R"5GJ6+E'B:)'^.3=SSNBQ"OU1$<3)U^$)LXIACJ5<1G.BD+8&19IOF5_?Z M57*@/A%TA[J(+I8__"[8(LQ^?/9TBS#[??;8,9[D]%S]TWPQ;D'DZ0#)L56N M0;:YO3K,"V^@"5*R=N>A7.$:.CGIG+M/#M5GEB/]%M;LX&/8IQ:EOQIXHK>/ M-_'8/&A;Z\Q$$MI"UKQ9L8M3F^[,D_5;*7PAHN:CBCY_5^-VKR_@6E>&@9P. MUWBP%B<-^:RFD205"& -:N)K;5C@!/8[C2?)O14F](=XPA(]SZML!Q^W0KQ] M!Q;\"SK"Q '$/^7P]H\?3H^//IRPB?4WI.C #IE'QH]E%#12/&))(]NNA$K1 ML$"57^"=P$8ED>AA3< NF&<-#?8,7W#/"1.M49Z;,6$3@.>M*02OY/0WTN4N7\/TTV=8]OWN,@B=.2)7Z0U M2A6=9R;>52(]W]7&7])7Q:XX-1W*L";ESE)=5B[\4#T#IG.&ML8$_2J\V:D* MC%R;ZYSK7HL==@76'5>03=9E:NC0LJ_MP]XE:S"A\8AR*[H"^_=JA+/@&_:! M:8,WX&N!W"6V*C+T@%"BN@%,E_>TS>\J1TPG"Y=R"RL?9!Y+N#:0FDE\B;G% MF"IVPU'";8@C32%[ 1._R"=A:YZ\S;B=4.O-%[+U[.K\NNX?2=U.6)L&K M64G3?,2%ZP9MN@*'*WP]=HC(TQ\,&G^CCLB0 V".@*V\Y?JB2HA4QLXA[U_1 M+L9R&0S[!V]SH ME XI_[[&9R9_)!&BYE3'(7T5A9\Y\"B#4R[^"N;9^."=27>%6!P;/$H@:M=X M[E(VO@S"HYO4,,D#>2^*4EXMX%:K-W'*V.5 MY& >3@-UP0^C1_EC*Q/XG!CT9N/4K^#C\'G5ZC7'33-#-L#[&A7NTY?@6[QR M6C5*);U_5E3)M*;O20&X77*4S@WB9I2&I9V M,J;D\/<;WQVUYT@)<;!W<)",WH/DY41J^Q/^9R1L5L1T-A<^T--B*KF"#VH+ M87YI].CTP]%CC>1Y7'@=95T[ZMN;3P+NMT&9K&K/5:'('2VT"&N>\1Z#&Z]A MD0HWQ>@A47'MCHX,*8P\AGT=&*Z(+:H7-4:3A5_L]383(QJWO- MU4#ED<"_P'XK6)'BCC]+1,C2I?I<,%*BG"C;9J><[BS+"05T/1"R&?W/@P2. M#&WT7 Z^$H215FSQRF5N&";9Q97:M)1TP5/0"J03DST8:NH.]7G8M$ ]AZT8 MA EED7[.%^T"X0,5+[ PHXBS.\T_P^Z$LX-^)$^K.S@B\\JI\\S$4I"0^KYJ MAZ?E?%Y>_U'D?4 3TM =74G1BUHEO6TDQ%"CJ4DCPZB(:C1H)OL"/? MJ.IFUL>\$=:L6JZZ&FU8S%/C[-'S0G(OJ$S*YOZ1XOY-FO[X[-G]S5K M>U]T4 ^N>3ES&NE%R4T\'&-*MP+"YLJ"8[94.ZVY#;R]0&=0MY'*+>'@R4]S M4"T9/V:!'0T0 HH'#"9[Z:Y B28Q3-1&P#2N$AFFUP*,)IUC&YK>"U9R=_1S M>8G*,8EMYCHV@ZUJC(QC;V991RO2Y)V8I#=_AL"I!FB#^T")!&;/#:$]Z5#^ M]5"KRG$8C^ZF6-8U^3TB62UK+A8=RNOZ?0]!(&U]\^^'>SWND*]UZ/TF,[>@ M>]X&<#PP3/@>XS9IZ[K0WS D>3^3"V<&,Q=B]C&%GA )1D'=Q#[?O.?#@Y.OXY\"W2/T="6R"Z+=!# MZI,A"D+ 0#&;<09"+L4<Q8PH\ MAGH.G0P1L5 1YP5ZS<>#!,8HK"]5+S$M9LQ=-BQL0XC_(*D;(*/!+NC74W2: M4=Y^0B?6GE^OD_,UNP&>PJD!!PKV *'C> -5XC.=&OZ;C[X'Q?V[-;Z@=8MI MV8)%&UB!Y!)O]23S.UR+76Y*GQ^U%8P8 (>VCW[]X& \S27 M]L)^M3!,*/B:F##9FXYPPC,,DJ#SSVV^BD[+'%G^1I7*IK6EF&0K[32;!'UBP1LA/H+7SDI&C@@B4<=$H=AX M8,:0E=0+<>-D?F2^";EZ% /K2> BU-8-[:_4..L]JT_RTXWW@@+U2Z9_. ?? M8@R;4Q8^;$DF.7@Y",J8Y-6D74CKO=W1:][S "SE)O?$ 4QH"!6"-<-.[)B' MI(0LB']0-91/>&!R@) *=,WR8/$Z6ER]R K#XPEQI"GTS FMQ+G1GT11!Y C MZ@3QF!4EY)OU^?46][;6IHY2@0E747G.+CG37W!H,[#JPNHN'WS>,GZ/9J MRV=9;C;(> ^#TV!3^J"IS=L(\BMP W$,8%.ZYN'IO?P7EBXE /:HI:T%X45 MK;ZN]Z"S8$SSXI?2:M8TB9P'>;6-[==(J9=+RL61-XA_%IYX%HK:2ZGV"=(6 M@PPQYL0 *F/,_F)*?KFB.; U:[2TP+!0-V<,@5/\FRY'67@D_^ )BR!4;'_3 M,YDCF?+!8/FA/I&V1U;]#RPRRET].D<4\H@ZX[$VH:\WYN$#L9C7KE[F4HD3 M7_<;7IA@-";TQ-/PB#0_%S6 ;02:QBV67G_Q'EN%(A](;$T0*UZ*VTB9J!CA MF^Z]1!B\KZ_93#XR4=7!5Q .M:TC+CP#)CA'Q$%:VY=1>RD3)O+$ 9Q3!)M[#A Q'@N'MB,=2U_+?XTCW=%#D:6<<&\_OESY M:B4K5#-9->AO7[(ZH#*]>:*'7YP7S>%-N+X8LP0B%IPZ%F,77I/$LL&MKCR/ M*GW]P6W=D4*6YF$/E:K%=X.R^!0NBJ&B8@P0&)R29VS9'?U25JZD] -!HAS: M7YK1)$@7QQ;^T6;G@AE6_!J9_V8LG.K#%&:Y^=0-\OI!:LUG*+!5UM./XY"'5%\R7M=QCFYAD$-"KT2^[.\KNVW M&>7NG1HRUSC +/4IZ8CB_^Z<$Q[.?3(Q$S/NM6_@,A!BD@J^4[=!O-RVJ M@-@=H?1'KQF*GH&JX1%=L? )RQI:BG(IN\]+M K&KKG$U#I^B--<\:3WGCY% M4?VJS9;)C>1.PF*T&)??P#/O=F]88HA3GD>57;5= I]S@N#M*A>'X(Y.$^^4 M"5?(/W7PM:SC]3)#3+MD\LJ!@HBU.$#NRFG:S*,3 9*6;23N2L;C!;6JP(1 M,GEMZVNE#STI,$ZC=FU()G"9FMAZ5Z%8/2KS6N?7IX2'R9Q;V#CT@[O+3FVK M 7:K_&753XR(>VB("[B&0OPQ0O.RL$N/0LZ#NL\:$RB(O8SNM'^V2)LE3Y8J M A3K1/J'1S@Q:O^$P3?/$Z'0,1,!Z9PS\MBQ8RB7%'@/5$;+;8=,+$1#1+NC MTX$#*S_C.[SS,\BH*VYU2,-XOY23,)RIP#PX8]8PJD0I#;^X5<.I);I MF_@F)/>Y$POB BI\:EDA:Q4?#% %_"_UM:]0!+VQAVB(]13[ZNFM2V>KG;,% M[M/1 D1QDL+XN,L?U5,([.3H]$A!)XDGA"N^DMK[[25[@SF<'RCC(_LBH '/: M@?<.W 78RWQM(FJ4<>D7@6 ^IY2L,&B+X3[! O9&?VXJ72_I\RZC)C%4I*)9 MJ* .]6#@>A#C!\=>?D&FLM'^<[RP]P\3#H++B8./TA,5E]F!,5&[!%&;;N>\ M2MEB] .I'54R$Z$(?0'$(Z;."H@/'@^:V)1MJ_*F(:@_#)VQ@MUCG)A_KF@ MOJU*Z,D,GP+EA!]!)]\L<,++QW^J?=]8FA%/1']%6^B('\5O#,_/$RL43O)@ MU!S.[N\5P6')#7GA%N!*MK: M9H+0&A.1=H%](>29$RT1E9=U:LWG)=/,>0B91-PPA&4B1AQ-Z8R7@E6-5C^F M'-O[4QWHAB43(L-JBS JE6#5'EV1Z*^(42]\0_F&M9(IY#;J2-1F8VAA8#2L M1,]QU2[5%XK* 4%9V41T)X:FB%X!='5K,4U*57T@I'/H!@'1H.HG:RD*\-#2 MF$>ACM-20QD9X]@C[1@FJAV5^8$2QF.$I:=ZEN)+XHWGH80K.&]&Q[!S9>>8F4]U5J17V83'SR#8D& (W8)G M^0*E!&4&<[CUR3\GD8\8C(*=Q+76DFH-ZGF3ET$J.YR$^%YB*+R<>G7D+'H^ MYIG4&;;+F9MG*OTVNK *0+)_Y.^8'?T9R)L\].[O5:$2>T%PN$ M#^":1:^5F/F50:Z\#JQY'F,36+'T;O$BQ&5_EQ*^XE) 6A"%G:X;Q54KG/!* MP3BPV[NE"!R(:_ENU @[G@<>VFL@!4#M,(0K'0X"Q"9X_UY;(AXU]]D[+]#X M+%=5M!E^B"$23,O5B^?M@D[LU5C@1&!8"(Q;28$E.OB&(HNP/ HYB<8P:+:' MG%P(0!(?4@"?4.FGU'087K9KGX]DS:4H<%E00_-52&?C+8J\NM&ID7SP>A@, MJ;HXSDNG_ ;H& N((=O/J0$>B>C:)]&ZT=-FH&U<89B>Q/KTF372/5<_T9^Y M ;HHF:P\DG#[6(542AV0H\)TQ"=@D?<\AB\S83&9*S*[JVD3MBFR'Y]]OTV1 MW8Q@E X4&DI&32.$BA0>JBJ1<(9 ?F(]T$TYFSHVK9.V5AKKZ;S27 ;&FJ*@ M+$/?U-)#U6((<>R3#&.0:NV.:L3#V:$C,J/#D44$UN.2N?DHJBZX#D2C,AM0 M?UK8EHZMW. V&)7X&HV,@)_I;17.A%2\H M484?Q\@;S]1F4714&-*_ECM0O6&8'AD1Z<+Y(E#?P(-^"Q)94+ORJV![75:2 M:$R=#0QK+7)).T'01KVJYM[[HW >=:2A"(1<2UX)\Q3R=6858_>\2QX#IOL@ MWF!_,YJ2+6*=ANZ61 R)'$B1EL3TP=R'&MK@=U/1O)K$Y T-C9,)W_^NQ::T MB=C1V'*F:KT25I>2_&BA*^>I@P$R] *X$V:#!A8GFJ0W2[R+O-$^@D10%>:< M9"%;"3FG>'RXJSRD8 2A08M"R+0:(=YC']H[\5._TOZ97B#]D[4V%O?M'VV6 M$S][W[NT.*RD%\NO8EB6QO09[:GQ-J;/7VKTAE)#PCU9A.G[' 1^NL"R?2- MH=/T6;]X33WU<\7MI*P7:QX>+U;/T+MN70;+ G6]]PL?LX1'2EMZ^W2T(.DG M.Y6ZZ]!?-P5/[S9\_5E.!>0SW;_V>NX38N@I:6""%.K*]HW]?FV^^.&=&V9S MS,)<++C^YB]<-4UZS;2#\EQ,P::]*QIZ.,+FPB4 M?0_C?3=$,_4QVZ2/O'' 1A5A/REA+#T_4.UW8,&B,=?>BGV@MR8Q6B$?BZIF M#8.RB(R5P^RN!4E)CH,V( MKK^_-IMV'=3WM)LI8C> 7XO.TV3&E_?*>+B>ML/W?/?22*>=?$/5:0)OHGJ$ M&[CP?Q^,Z.KTZ#7LB+O"AV61(E&QZ6/G?TU7J#U$ADQT/"\GGZ[ J4GL0?:$ MT0Z7]&UTE2C=5/F"9I\=%V,WW&7,U0:V"1D>4K$X]'H#\$5@;S* [+W.F1FX MRPU-0;]>O/_AT!DO2BUYDYEL+A9$KL,D9A/K1-1^0729Z 1H&F!48#P31<=AXX36#.P6#-$ZCD"C-\7,UNP- MD==)//L1J!YUR,V5W.[H%U1?\>!\'D8T%O@VY*I=;0ST/>]OKJ$%7.H7*H4RX$@]%:(K5L M^T.2=W8+4QA7/92I]E0>E*]F5JAR(C'Q8FU[01L:E>Y O8:[Z0+/(5DA23$7?E-6=ANOL4DK[(\_7/OP;MM-W[#== TKASV@YJ;Q%N MAK;N3.5LX:]W Z-:0W8_Q/.(W([$^PZ5UZP^53)@3AMO1*,*^AZ;2#5]>@92 MI^A<4.J4N.VWDG1+D@3^.A?BLQ:_B M.P4V#\R-_3O[ZNEE:ECVKBH"L-+58?FXQG)R &.\XJ":YP#J();6L4+DTRZU M:Z!T4+6-$]+:C6 Q>7^/@U2(KUUH>:M#9;L%EVP"E[S8@DM^7\8B]%"4\ =% M\3P-O4U'5C>@V;# J;$+O1B3H7Z.-F#YX'35<8]PZFK&E^LD0?EJ%P6FY&,8 MF2W]A1.SB/C^\7T2D7 O=+&DB<\#6(XE4H;K^)4Z[3;QLTE$_LE>H9N0"EW;"F77R.U"5K=E]"TH3+M@5M M0B,@G](%S_SF9OW=[:(P\\(C_DTMDUP :71E&%B1!R7XLE8D'RIN8"$D E#' M(",;.12J8UB*24N:S'I>:\V?3CQ>C6$B1I\1L%MFPG=#EDH2#\P/J6:CD$T] M2[[3&0RG";BETF)1%L(S]6VDMG//U M"-H A-N^,:UU8'JW55\P@D_$!E]>N#DB5J>? >H24F\QYJ;%R^#PBH MC\II-WJ'2'?G"R5_.WO_\9V62C(.C@H9X8C,74KKY&O?M$;0#',MZUF5(J!? M,3A:+T6%MSQ2?&_"M1\:=V EPXW>N^J]FZ;)F2'0L2)8 1)FW/:#T:J 8?537W?7?^AF M6(IV+NR6K3TP$T+K%)'>2BTP*E/%4L9D,!'5OU&Z4;\KV9)MT@9T2QM#%;6" MT&1Y,F)4GQ@./-^KRQ06PGMJ5$-SKT9RU'V@6ZAN:XEU9"1Y>0^_2;7TP6A< MMF,X""/TMK!82EIK3%7*%$TT]U4A"@R[B=0U6>. PJ-FXGE4K18G]^!C MCJJH&:'J%XTX$B]R[Q!K?)"F7+=X(U ;NX #\SL2WFPX>;OL<)UI!LHG6!$3 M).E2O49MP6LILI*>BY[S8?UK*(EHBVL(#\RU6_!L/BXL?B#11(R*X58_1T-. MM[%LE@W5C:6SBD <./C]_<=E@.?F]0#G,5<,#3%R"@I]0QBF5UP,\$I M-Q8$ 5X%\Q_!)6QRX!C)YB XY%4973WJR"T-*JG^%,R8L+G%E)EW*4,>X!9,I;,7[4WOCW[WKX,J>]4]QT7>]\),WF$#5&(.FR MFM_'CN-7(EVN*)ZP!8,>O]"IJ+@JGMRMK;BZBN(7)EN.$2M:#>"RM?4 RT![ M'2AKK@QY#Q1U=D*_M%!D+3#Q1TQP$/!C4:VH_MV 034;PM::B<% UO'M%):OX9LV#$#7PM0S-U 74@]Z7NXAI^,%#3!X6:+M8W2=K".GC\]YR-;7])=!2#,G#XV0Z*S4T( M6IMHW:D4I6FD=(1;+3#^- [)7UT[^5"4\:E,*,><%UN.OOW/N2L"A#5SGA(@ M_C#5T3;EW'5#=QQ>PF@?F8V8('.H1'QI+V]3ZZMC[7.I^P2_7SNJ.[69V.LF MA^P^7H=7:/X( QT",.O;&R6C"1B$<$M(LU;6,3;@C6Q32WU(9RNG6$'$/5SQ M*=G*Q@_+_NZ3L_X[18+\^QO*1!/:OH\=\T\J#5;HA3@KN[9RY50X!F0H-#W# MN*D!R6/\4FJW\]"%OIR %T5.D+QD2"V&,%QDH5$TFH('ZLET>3>U4&^C K<1 MB2I^B(7#]DD$.J5JW46/=GB;D]N0DWNYSJ+-4>+:M3#;>VCV\ MW3?32H9PE*D$#"J%^S920!H7K"RN9=^&*VH9\27[=C!)MP\!]LS5$G8!J)VYHU2+B1"E\;6JC5;;#C8RV5<'G:FJBX M[C8*/VQX;Y>W^>]\P5=T@Y$6YG*=[ORXC%PKK-,:O4(.K77.-]G6@V=<+)FH MTW%9?1+ /ID4#FY:N%B7I;(]T 5>!$\M%4<+GHITF_3&MEXK&K)^PX$9%(4A MH>E0()VW*94"A49B_3(T\L!ZFBZE%EF4)XUZ&8/(T7]G*;@>7+JGM6O1Z,MU M!#SQ)G;I8\PN#HX+MOH&.S0K30-F:X%RLC;$6*]1*[T+:@\=L)F;4]VME@(R M[5F#CQ-N9G=P/Z/+\(L]:[+]+7)UM!98- M0M3D+DH+-2Y'QQ0M6?D2E%!)[ NSB)Z!HE:C?,[A#&H8EBCNBA 0YR)L9T\ M8&J[XE^KA6]I6\?"0 6)AF3,-Q#3N)"1HI!9Z,3D,5QZD3HP%7"A&&Z#1R@MV$ P!PL(9OM\6Q_GSR@#,53T]@2'*\(7R97 MMKVQ0[35HK+XE@^P.;$QJ( =#U[1_]NX;9A#A_P'"@6[=)XHL=!@ Y4ANE#K M2E&7A+6KXK4-W8?7GQPCUGN8^T';6_626X@M!7/QOR&.\G!($U$(Z"=PNU-D MMO2X-QKE C.*G (V5).\0*;)#&*MLD%F'.QO)>23RAY^29$OR:/CX8<-H7XP MO96+C=L0E6>GAJ-^I!,;;H=!N"5R(X8!;5I8/8&WH!IELR=R^/J.U@7N,G.A MH^W,?7X[&9Q3R\J07V:?+W?+=VEV**:KN$H MB=YZ?S7I-9NRO[LL] 0<,QCC#,$8]V]:-\\94YXA4-VC?;J#!E10>;R2A M8)/+ CK \DHB:G?[N4LU+\?@S$R9+TQ//Y.04'Z*\[*Y=6TGI)O(0+CP)'9]R( M@G1S'2W:F@F\R!1D,'4ZREI,=:?4G HQOW3N5=D&<9(8*!L.=*$*0P2RRS$F M'9T2!M3$PZ$KB':EMP ,SY[,TAPN>(_/'?H<'8U9[J9@]!!.%F,>!+NM9'-K M,N@$U0/K$^J3#AL^' 2.3+TIH)[J^+'('? M'NE&C3+I"!(VJ9R:UA1Z.#T<>5JUW%TN/EV>C[P>FJ(DVQ!_Q2F\17G!27FP M3"K>0 ^C))O[D_AQ-+LXE;;NP0MJ1Q/2[$.;,BOI*O!H3$'_P<5>YH6_U3M/ MLKTC7+I8@R#S'&XDB#$"\HPF%4V"]\4<#_4YI5'';IX[#XHUN]B4YR[2AU+F4%)OM;80 MB*)T#1_-X) ZC,QE='1XPN1L>IH89JT2<2_<>=GD2KNV2<6NQ&K@+FIJ69#& MQ7)YM(/XP=8$\:17)='Y4%N%8'+ $F&(FVZ30FOMV^>[VU3PK^_3:Y85ESZ M3U1>XI/"R9I*BQBNC>/R>ZX"$F?UK)'[VRM2@3+6Y5SZ$WV>S%NJT(.CVBZD MEY.-8Z-IP5V_7.T[7;:!EC2^SVTPCI ;O<_\:8C(-#1P"IS 84#^]3[F::[/ MDM@O%JA4C?7$EE)'S9NVZCYWL_X(KQ&+(0F[^EM?@]VR8Y0S*U];<.;6#=BT M'OOJ;Q;JZ 0B >S8');VI5$,C@H=O 1Y!N>N,H3D/7%KD;T#]$J7"5\V/\& M=;%V*;MP:C]&R'W?-@L-2\YXDF,SX)-*WQLRU"::>17>E52H6N&[3*7)D<-I MGK4@@\B(U&($4PBP">2[5NR\U V(F:Z,)+VDF9G$_F(1Y<8Z&T=KB 3*J*GD MX GHRSP88SD9 \NV0CIO"0RLPE7N#3"PJW28&UV"THO;(U QPCJMF#-Q,+@0 M IGF4,[@OX]QMA?7GVS7?J1H(+(?I],I>%2(\YZ 15\X[E D3RZM$V*>7VC+ M1/\8;[[RJQ-MGIBB_IU2/I+%2TW5_?UG=J48=PUBP>S*QC#2/N9DCLAB:^FK M[ 4_F8Y/J$HZXDSZ'WIL]=:@RBXDSQ94QR!CH39INO+<S4JJ^>-TZ3B;?EZG5!SX[;N[,<647E&[/SIW)T" JQL_X+?-TIKA'*;_[%#1_^[HE&!:OH"\HJ*]!.M:/3+)-AY-T6-9F DC:>G'R MB@U(WR4R)*&'">7+:B@[?0^S M$E_@ /RS)=&;K_BD%ICNE:DCE[.L!^['=-YB-CC4_GGN?ZJXHT_ZS<-LO*<] MH-3JA%IOS9BU8V+Z0IB*T($:V:%^6=ZJD3I7PM!,<'X/+DJ/6[ .^=#?!DJO M8=_[N.9K[NE4B&E%*59L Z>P>60FR:[C7_1'_!9'P4O^;\S0DDG?>'X]ZSRL MA: MTC[(O%4I$;JL2O'@I*IA=_2&/]ZK*O=P&0_!HZ_DX[9Q@49<9R"JE'DK M&DO.&\9#%.T8LU9HF/Q%>K:,'4():L?%?#3/'(>%4:0MP^_M<57&E<386< Q MU-+GF^':F(+ZX@^]VN[$+>Z$]FZ<."'ZD$*8HJ7>\P@EU_JF[4;3UB8 M%N[A5&@\ [P.[PBX2K@SEOPL';EL$XFMF-R6F'2]FR 3LF.*+O& 8X5!FY)% M=N+8AS!U\&PF&?":(KW'*'0]5]Q9*HXHS(7G-)P%3*ZAQV]^J6(/&I+QIZ]8 2CF2T#?Q MMZ+[=:^:9>A#HY4&!%+$KS"6/B#XMWMUFWL%QGF>;C(*!HNA26W 37&.\'OL M3R0;ZD]^-^4C5T>G3F*[M;>\M;XLBXV+1,HGS/%$=.]\GHXQ4,UD<0IR!UVZ M1/0/0=RW6W57;E*@L365,IU^ZW%?*^HK[ G;8RZ#D^-WH[-5@2YU7M_*S)_C M+*XQ]1YD 05FYY"^C05H:)D(SF ,)BD^@+;LZ8N#K[AEW_TX>@_CQC5MK)^.1.W"!_/GLK\GH%Y#[3\GHU_("W960;V"<4,^,,.Z. MFJJ^*6;7\VJW2N[6-I(IX28*AN/5Q M][X:Q^^M/5BN/ZB(]\SRC!/[)FG3%ISRH:XLE!A*&=B,('PG&&Q,WU P E^@ M/YO:]?6[OL5"_OA\_X%@(;='\FL?24*"(*N\O4(1"%%6GS!?1N6E$D,6-N<" MT:$,\2 .="YXV>KAK^(!*K&]4\LE*E[MM[;<;M+=;)+G19X:)KB(!VN8D\!2 MCQ+P@;Y/K/F6NGAC>\7M'M]1QOJBS#/;5TY1HNM[[DSC>N?M5MWF5G6;;5_= M<.IF;4RWFW'N/X50S#)Z)-;V4)/P^^H M73VV_8'OZF09^BC\_[391!<>4YI=GV?8$TV6<4NQ[1V!V);DJPT-- MWXOQRA;VZ->W>WE7>RF![+CE3X#$ITM$>P?D;(\F[_/2DWAL\1-W[Q+.A>I+ MP5$AVX&(*^QW,=EB7>]R4R1[OB0JFW&C?>/@G,V%<')[0&YU+WJA2GMQI2MI M#E5S52P7LE(1FFPUL["YM8G'/'B@"-32?4 MRH(I9\!22*M,2*T1*CQQMJVCX&T3D]"+6M5A^0R5X=A*'0+J6G@N?LJMH77= M;OX='6M?<.-[$XY,F;ITH;GHM"*4_=UNTIT$6*@3Q&96VX1BT6G=5"TC_ G- M"8[X=HONS,3GLR+T<#EVC[SP>.;1>85-B'G-M\KMKL,?2NU1$1UKMV[<,'R( M,[VFF]QVWVX3!(A%_5Q7 ,XR5Q[0]IS\!E:G6Q ,2%!\6POA;J"UQ!2(T"P) M]=KV!LKZ%S[=[9@L%-#"C8WF8,O,AJ&516Y:!6XW],[*K2=8,XH^-)MRW [> MMIHF@WSK;-_=%ADGR""5F_0SM2)0-L[M^M_6^AM$N0-3KEQ0T:D4BTH;!'>> M2N]V#&^(&[NQ;8ET-$.&828HV6[@;6V@IPXA2ZYJF7U7BY2I$PE3D8&31,Q2 M\*.CKAYM0TA8$XJ2[C5]YI+M]MV:S4&]A'"=)V"'(PV90CE<,T/3+Q'&*VX1 MR/<4#(YH I4_")/25"U&W?&T=>VVPN/KFAMX(,^9S=SPOOGSROUOBI7_C1J; MPA^E_,D1"=%V\^[.@UX2)]@,#H^P,B*S7\G]D&;IO](J*]O:,S+X.N&MTWQW M?II&FU:Y2:$,Z+L(A. MRL6#:[OXNE620Z)6Q%M5V0H7W,H9<^/C\D)86!E_EVAO7(T?,+]V7@XS>L)M MGI=9#4XI:27A"T.N%]^9HZ;VNL:NIO 0KW!@HC05]?=PH>F)-VI?)H4Z7/6F M$)1)6L^DA10Q' O- [8ZK1TSU@KWZ?U;@HVR]G>GECA1ANJ<&:EM-UQ1'@GW M-5DE0O9+\7DVR+GYDNTNS=S=,*W:@HC5XB<;\AJKK19_?[%'1R#C2D?J+-68 M/"D\1'G%4_8F$<\*D[3#&FYF0]_C%*S66@X&> ;1"XF'8]K>.DG<" IC"MQ[ M&G$8/!E#/$$==?B-U# (<[ORF-!5N"HE4T5N,7(?Q"RGZ;KF6=2YD0A8'8;X M[Z_X#I]7;=.$_1653?;^3>&&2NATJFU$M0*PR+ 1V"KP(O%ADBU_E+ZBW*B*0K]: MP<"]767ZJCWR8CIO'37-"LWHE:LZ\VM)<8NK]E!W@A<^=.?0Y=\=A=N(6V<7 MJQB*PS3(^D!JX6H;U4E_!?]"[,@VH2^V*$&7Q3E5 H1-+JE?&+@S0G^#>3FC M(7TWO#1(#^>#^I)R*0UY/C$QE4C'X #-%$83"L72((4(PK;+0M9U81%GOPI- MFG &>.U+;!:4<.,*&@.&*)!Y7HQ'O4V\$A<2D>O0BI=55_P-T?C]$_V;&S]3 M;.XWC([PW9 ].B((ZOV;^F:C1WLX2T?Z/J=A*'#1)E?8D0^I#H::EOA^@]Y@ ML$3K8^Z';SK6-$XGG\ZKLBVR'1G-E/[WZCX$H?*"KQK8NR6: M\-YS^VWW;%=:K,"SN!":C840GO(50X,LNI9] HGT+;L#/RV(Y;W4HH(_[;0&" I"SCET^EV,^[%9M M MI4>Z2/BD@Q-+R>LI=YW%)D[<$DNK.IOTLR.C")S/O&G078^*/M,5NYE@SJIR MP,K"/,O32DS7?V"_WA'FPN&>V@K#/10&F_'>,1EOCV3PJ6_M:4CI5:W5M]3, M8/ B6S-9"F7MUGP3(Q4B+50M4FU5]M>Y^"EV-T'[3#PWNEMMON\:C ;T.2P# I[TMZ) M+!D:.L!7;X7BZRCQ]"+-YX:FEAN,4JQ<;ET740]A,C6_4"0,-P=O(H UAS/R MBGP]'\R0IG_@DA+I&+]U[CASMMW\N]]\M=0P5 HOR&I-)FCL 9L6MA4:9_C! MA@.,^ '3=5 :H=5-E4H4:Y(N69I,\YTT6^0%MEJ59L:A;QQ%;<*+.&(I/5F[ MV'"F[4E&]*Y$Z'H,BP\F%>?Y%+.%@73\J*Q&]LU4 M3],'MIOW-:YZ)4"SG"]1W#2.C%&:UT;G3'=<":5-.$[+O="' O&VM0=;AIJ! M+ZGU;[#_I,56;"WB'S;$\K?PLA^?'SX0>-F]S3']@=, M,TLS1P0XG*^XTW4R.G>EN;;KFMK:]Q M OX(4GB@$0#:YGQ>CG%QF8Y*'0H#0[$K+QW0+TH<+\:-\CGO@#2GG+,25+09 MM47W78J#"!@+!"MRR("=.4P@_[,%IZCA/D-V0?W4BVG. MI)2"5!>T#Y*@U9B,@V6(WA3UH%9\ERP%#W.ERC3J55W/RTMX8?1)F!!<29>@ M\,]+N9@OTRI+1L$+: M.,9+K5W$2D3JJ^T_(9#,W3;4*LW*H_:@7,RAJ;!0M M?3Q#WH[,?G>^4NJW;BZ'_0IJM8 H(3]>A ,T;87[Z??2/]05%WE5%@&/I.G- M+$@-=7!?XI@G_ O_:+912 Z#V.R./M!DYBN67R$7I"4]@YV%3X[^AGWN5Z.? MTN+3Z!&9 'NOSO[V$_VT_^HQ/?@,I"DER%3\,?UU]&%VE)?S=**,P(0DF+@< M%VF6+P,/P!N7T<*^=G1IC4Y!L"K"NAV7U;+45JL:00U^/"C^\A,%7T,Y%7=P*I(!11-!X;WE_>_E-4Y:*1C;,.:!.\0_KZ# MH"\\2_18>'&:100M>*KRIN7+W9\DS-?J+I+2V1T=S9L9TN;:> 29&!>,-P4) MP-W).*P@DR%<62,(#AR.'/F4>_BPT9)75.V-:EN0;2R0%B8HM3^FFZF?U^!< M*$*"J]J?L7"WU0%N0]T-7)HQQPU*XM0ST)98VYX(756WEQ##3W(& M^,@5Z8=VGQQFWBO+SCA47AJ"A:O=T4=J0 [*D7@;2Y0/ MD3M:>EE$58213I9G6V=.]3Y6'(C,BII4[8B$/P/W,($8,'148HTXS^:2QD6P M,S[F(TE+I,RBS5W7=TJE$*H#O@?&A#3<,$Z^G&3K&)!)\5+" .U@LOFN)=4DE%$MM9P(V!_8RG]I.G' M)6>,8J)0!@M]O N1G)*M&FL8F/#8(2K=+TH3/S_IA6*D)Q8VQ_R+P-(+4#6$".4KY *N=CY8<@LT,Y+$PF4QRDGP+UJ2X@^GD[Q_T0?L#M@ M'4Q*/NWVYAJ2L,S!E9R/%(6:"P-*]HAAAIM*!%S32^_<38^("O2GQ-R*A M.ZP)+%Z S9+,>9?:NV7PGH3_AO85WD6DG_G#X*# KH$ @K5!104E0_JZ+[7@ MW"Y1 L>]BM$TO2BY7PI3?MYD^<64T)O=&L &>R\F< "K@5;W>@=G!FJ?3#_& M84R#C:G\'&IX* =+/^PP"4"AV"0/;N>8J>&(/FD*">6N LL.5Q ^B-N[Y'BC*GR>/K7 V1W!C>E0'X"]##O(+XR-$[$9Y';6 M6M0@I_,<7V^'I)HW(&WZ*^E%<^S7$[Z* $@O>6A9MM)_@)6HVE.$ZC1X>[ S MB]IY6"(3J;XJ" 18[^0=[/7<16;N@__C1UTI^DQO81T1 M7@8HFM3:3AW>X;XP6/:#DTE1R*D*R#]D:%8/:=,W^L*XC#.PV*1JR>8. CZ, M@(CJ >(-UD6$$X2#4=L"H7+'>)"A;VG M= MFAF\^Y/S!2#9-*]P@T_"GY+P^[ ;/78)D15^,NF!(#2V2@3?<[.[>&W!R5"/ M>^$[X!(1@I436'5>EZ.+=HX>I$09!3*T6K)B"_,(6R"&D3#^=T^"'0DYF+#0 M(+N@J"?Y13Z/3B$L85IAQJBJP!V"74D)2BC^#T@ ."4C<-2JD]*VG&@'ZU''Z^2JD_>H6:P 1/B'PSH//MD4G$44L7 MX->@'^(3/98<,FP1-UXGU&A>6VR\T$H28M^O $>0.(M(:JS05(1Y!J4'&T-, M2>N,W&$X^TO\B B.RR*Q"5=HN#7+*B&_A?TDM'O%6ROK&DF$$W.O>D,R,EVG MO'S&).&0%)D H+W(\QK0TN18#^ATUMX*OT:7!:,*II:.])/D=LD-J] &D8(( M\4F<5_NJG40HIFN4?N2=T$'&I0)3 R\A,SYM'C& V"O=/$];J14U+E3+>SDO T$(/IG. M$=<#RI_0<2#YIVWB-;J)V4W.U10\6E]41\8!KFA!Y3=X**^VN+99DQ^?/]UF M37YW94Y:V3*2+R<"3B3UQWUW6UN%I3XDX&Z',YXPKVD YPS9-9JB#\;"1 MJ0"/-M>BJ'9#>X%'&"XTU/LU'.5<&*;#')0Q \T0J[GIXF:]Z"UB.HH4!S$W MFW^2YCQK)U>"IT.)HQ^#=0Y7&%AK8R /+.%T.BP],S=?4I&/5FDX5=,80B % M325B' Y02RD)[.$1CSPH\,E*J4SH,?)/PSS)1IGK%%93:HI"6&1'F?Z9HYWC21?23C&!O7C?TB,&NQ" MN)'8G"03%FU7]B Y%N3GG&N23@^+63@OYO;$2'A;/^YO,F71ZG>_D[9W6G.J M)Y1CE13!W*0L=''M>F)#88< ,!@JKH(ZQZ',U1>-\^'7G)D_*]UZ?SQ\CK4# MA_E\& N&-NI&GP<^+A&\A&@&%XX(2%[?K*8$H=8( 5YC]+EX$):[[BT, 5>\"I M)..(@*)@^GW0?1F)EX0 P0'R%7Y!Y:JK4GK/!=572BD[6+W8T4N;!CL^\Z5 MHJ5U8VI_D:+%A6C1*KS(JU8K!A9X,<,3'[G=\]T1GH)R@;]XC&H UHJL5FP& MEPS1+:J[M_#NWQS#X8NV$*81WA^4O8HTNUQ3\-49#)G2MI/5&&4,IX"';I;7 M,_) ^#=F380@4"LB*"J)'-(41)02SZCK78LIMDBN0!>T&6:9BYQ;T6=(8I=Y M"==N07XX=8D#PEM)K&SXX ZGVG%@]A<[=;N4YA=AX]HB;4$.*E#FF8_]5T1X M,UX)>A)M92[H1)\;TX/YOR0"65;^,YTH>G:TN>L*M99MA3)S.19IE%17YX,G":GVN MBJ9G8O&]^3LQETPH;#%U6(="%UWZ>83)Q<9S.%2AC=(:"-8PUG71Z^[1C8> M^T@IR/DV*DQT%5ZC\").!Q%L9.57SC9<#04&E? HD&TL>' 79*$VDJL@1ZFQ'=VD6J67GH_9O&"0LYY0&'KL9'-%>#_B@GBA+@ Y%Q_8C103& E_ 3W"J;#KX MF&BG55^8I6\+YI]"+5SG&9]'IX; MU2#*0_A"T=!:N"P/!G3@A 7'+MS$$@.6X5!DM:68O:R<1HG4T:V#ZZLV(#LS M]GW@:Q'SCD9XR4\FI3IMYP; @_ :2C@4$N?61624#7E>1+L3YW8EE]/)$?"X MPG5EXKG!E?;1;<-)YW>_VP4W>D/'54W)&4>+QSM(75/==$B6MT:-EI,UEELU MT'VY7*/9S3TGB0 3-0#[7?P?XIBYRMO4!&# *812PBD:81BL0;)U6#E2$3A\ M\&L<&1?&R5&)(PJ_VAL2^(*QHQ@=(Q08>1I[1[0%[(/ OS#KO*SE85X1:^4$ MH?8JJF1%V$C)=9$*R07QK1'RTL]W@*3"62"8'I4\$0:-,@*POIH^1NPAK*$O MM3A^][?3USO[+T&E@*99Y)/$BTO OLY6XRK// #0H&033UJ.2TP1,P/LC30# MDRV)F'$_1&EZ1)N("MDU=@?580ID1;$A@BQ?N/@Z+)[_?&6MH#XPL:3;I"TX M)XJQ'!KFI$*$-.X"Z[IY"4=/0PF20:7;B\P??[1\/DS 7!A'TGM$K,QER7R/ MK&UT-6"5Z X-"I]07F7!0&J!@#&V3=;+"/H.5@#85D*1MX!0[P4(6G?\E%I$ MP[7*0K,I0]?FXSV81O8M,8VM/W:LMKBC,]8_PNFIO7TIEL@ZZQGA(^,2 :@A M ,\%VW(,&_&Z>UE1L[@FOX:@;XWRH%>3+S7TH&%TQ60V55MKO'&1TUTB9B=H M/SG4=(9\>NT$T53P._7O"$_H=&0P0WUQ0+.$>\HQX1#?&RYL-4$BU==1?4NJ MC.U_@Z/B;'A3EF)$F]7V!<]LG$CM55Y-VL4%!S(H+5\GH8XKN2' MY!>:+/,KR069%);57QG7B6.O'!,1 DZ)10O>'6-V&W('23]QD$1I W%_]"H, M1C&5CW&@F>,=23=G7+EEVV@%&US&KE-S0%@73=$4 KKD*70C9LR+DF:!]9,O MXDG5PN2Q9()--CPT=+GA/5"L(B^@+YTJ@]:!D'Q;$B71L?R6_,$ ; MQ$E=4*YSRL5?R2BD;>*"Z\%,(!;M1+ #AYLKI6;I), 'HE6F\*[=#*M1(D^> MVC3JM,PW_.XGO/6L0XS:9E8A*TZ;8T1Z5-2O1WWOP6;DT8R=S)0#J%Q2AJQD M)2>KC)3&P8@U2(SKY)>^'6#&#<$_1YSKM_K6)T5[! ,A6TTJ2\);=)K77C$1 M#U427!QS95GZ^BUZAFC#I>*WL\RPH$4&GL,2M%4]JM)EC@%/=U'.+RAU;<*8 M%#Y=J7HVQAQI':^%1EUFB,YV96Z2UWYQF=B?0B-LJ)##1#@7VOW$;WVB$ \2 M#LED)5&.*V'K*AA0^.I&2D*UKCI<>D.WFK1H4*C9@ Q3>FN3( ]PU29Q.MB' M=03H#K9KJ\#\-A@X=DGD2KK",.S=)I[WG%'JM(Q1S6RDV1D2W;L$$NG*Q13R M-G!M\!@^&A0,*:) GWY! =]P?8 I'HMRQ _M,)X60XS]=*T7N7A3:>I#D/.K/T*#;")@R"B\FK,9CH7V/0,JKB#ULO??5S%KA3J,(H+&:N-3SLVTH MS]096C6@H5VM\8O(U/N.4R*Y(N #F^Y'RG)K/B@$DNFXI_@IN#O+O+2RV2* M$7D0"X)"T-@:Q[.B6@BIV9',6 @6/F)9GJ4^3"CEJU1FD<]*JN\08,-04X/$ M/M!8K8]-UJJSO;JK'WC-H\U]_R%LKC' T41:8,:2!X=KE'A\4T<$\B "L/^' MX!PUJL1LN%ZL#AY*M&\%=\]P09^[J+36/,2SI8C\>'K?I$LO3*]KZ2^H;=(6 MV0!,Q#PX%09)I]0 2(L(6%=-,O%\)G3AH5'22Y2>IU9?9VR MT4WI.<.*0T@(-0J>[U 20]",F&JU>[,' ;)G8S ];:YT6V0=Z1=?@]]Q@&S+ M)@II:4&Q]:UD9<$U/I,\'VE2G0(W7>L;*T(&PZP*_0MF%!$K2,8&^40KTT<._@E!C)*^8JD(L/'A(M!#5?*':+).)U+H"J%ZY/[ M?"$?#K\3^2=A!2@SRPL/_FI>S_V8!SI6?*0,1D0A$JC0)6@A.S%NJTR2&61/ M@7!&E>:D%N)XB 10.DZL41W!*(-98@A$"H]\UU6*U4X#;X"U;#DG:8Z.AU_0 M)F]PK@:I%QZ8L1;%62S1SD=*EA^7"[6M5*N^^7@]'=$?6&Q+8U; MD@_UR;EEN/EQX?:_?S6L+@38B&$K MPC:XD?7>HIWW4BW%LD!)T1M(V^'/[! MW^5$WR0K^NQ1^EB3\&MW&>Y/MAQ@BL*MA3: ='R2\=>=++&/#3>B+E.4O(Z^,^OWW]8[[; (?LE17MU_P4;36*O"K-TSTXT?B;Y(A%$ MD_A48O"/V \=EBV$Z5I07H'/\:3$V]\LT;!04=C82NC-QQ!!LP]0IV'1^48 MT\[HY._LV9!JA]>"/B(HCEA"GIN(P52(8C1&]Z!/3.9VB-39L)1T]DA&XQQ\ M4EQ18]TQ4- &A.A)W6(H7T' !)GQ>FM5=.AXQZ##I@PV%=N G7K0M<%6B-9F;A\_":16--&&#I6Z=V 'DXX2UE7C?6CV M.%-A73 FJF2>2SB.I40CK@BNKZ5 '8RZ@W5JHE]Q)UJ__B*.*-88X9JZ(?&W MY8_Z1?H9@YB>+IR7@WP&AADX=-Y;QM@H%YMG/C V&(&<86VBEUIK?2#.I_\3=B>=%QQ7=+KR&B.PKKETPA!U\IM_6,RF6B%L'TZI)^KK MF&OHL[=S M&.Y72Y.S2Z+2Q%FA9"EWI!3^)+Z. I:_P7DQA+>;K#$X"J0LH3O!!'R(E)E4 M.54KZT/-:G=20F6EX07Y:#[U^4!/C!. E&O.NZHMNBI(MP?E*[NM$ E?1RD5 M_08D(5<+0928K=!^7A6U 1;)?7'N\!PL9U2>2^7X'F0#E_1Y5)+H:\1MF7.7 M^NI:,8\'6MSIX\BDH^/P_GYB(@UTOF;I6KN!-QMU@%'M?P6IS>"Y] %5I+_] M=60-=C$0$?AZSO@M_UP-2\,WNEX !K;1HD^DWTL=!@)2 E^P8!A6B?)>,,J( M#H%C@63(P=W/[:K% LIWW:ZB5:YIX3W"5 U]]'__C_WGAZ_VO]]]YO^(ZO6W MOSX.9J DY]7D(]5S&9.,@B818(_RGO7ZGM"2_P-\]#K+-74;X,Y&%5]EWX?6 MJBS9>,]?AH8.#S7SZFFC+Z6^8G,2O]_OS&=>DRA13W 7D]0(!CG?=>9O6FD; M^16H315R8:'SBS(3T+K/."H[%XZ4H]HIY0+@T53LTJAJI..+)9M6'AAD7_(! MUQ&U)8 "+ YV&L0$6VZ &0()X M8SPFN'Z7P&VD8H%B2$[CL<-AV;OD9,3E $G(N7-#Q-*>K+<".UAT5E$E83Q@VL@8^"S$ILQ">FP8![(&I(R@:>! PQ1AC3" M"26#0*%D&"G4.18]T5DGOI)--M+KP0T#*"NJ(JKYZ5(9!*(VW;$XS JQ]B ] M.GM32V\Z.E*5O.@U23>TY)Q%T :??%>=@:92CT#(H*J3#G!H7)%>*VRVBE7= M$ W16FA1<04/Z3V\LFX(KSS1BR+J[)$2 R[6>RZ9AUPJ!'.)JOF\2.*;%0A" MU[.8F7I $D_FHL$MX)TF!\='+\_^[*,!"ZQU9U:M58PHCA*/!IV)2"1^QBI$$[/Q"?JG"092D3$915SU+W9D2"Q-"B==E.7"VDX4%7%0R5*))(4U0WQ;QL4V&T.+P57VY/), M42I9.JGSO0+$C7"&Z(KU;*[^3A0N58F?;V.'<&&S/+E]*G JT3)QN<*$N 2J6U<]J(J1T, ML@9K*(D9?#193>9B%5F,0LTI5FDZ,MR 4R0R7J@(G91;\!-)OXJ^@-R842@@ M6"^[9OB3,N8XB-;*<#AL-+!(>CVB$A,-/)]GA^'"3%_O9 MY.7TQ=[^?^_OO?SN/F9TX>O<1\+O&YJ'R)<_3Y>U^T%_> 7^S7*>KG[("4*R M0U]Z)<^2S<:!72!_ 1@0LG.TB?QG&?/+E[LOGAWBL)L*_I_IBV5&NS2C)TW6 M_QM\\<7ZO^[M[J_]VZ:GOOA^]^7!]1[[A$;,HX9UP57^S^\.OPN;2?TS?SA8 M?A[MQP*,+36[2[/(LVSN;EVH>Z8BR$WI2E>G[PY^NWMQ[/1;^_?_0JJX=?3=Q^,AOAWUP;/MMI@JPTV:8.G MWY0V^.7TUQ.P%]Z<@)GP^O3L^.V[L]\^?!-:H#&YJ]^A#UYL]<%6'VS2!\^^ M*7WP[N//)Q]&I[^^>??AEZ./I^]^??":X#5WNR)4Z:QRF$(NFED]8MC$F5LV M#/T]W$L$J59@PE>[/E,QOO"Z<\L!RM!B9$KPE8P6Y##J?^2??X"O_XIE"-PL M%5?A@YO"?'<.0!Z0]_@_OW.3[(3Z)T_=O^- M*_2%\_]8+8KFVD,Z^#W3O]FK#K_[$;N]8KSS&@N $N"9"C!6S"U(-/TXNJSR MIG&%=!Y3:..RK28SH;O2AN.&1\FG+HA2Q^(<%\XQ]"L%::2D[@6UV,"^82'T M3S***S#")=C9?S0AD VE"RD;(^DKF,B.^1A1GQ+XHB+&3BJ5E/S6-FJZ(6KZ MX@^)FA[LWY.H*:S#9 ?6%F7ZA[I=P+*O7FWMGZW]H_;/\V_*_CGYOS^?_G3Z M\.]?GN\S_^C'U/ M^G$T()9$J/ UY+)WK=#>'N[NW^"8[>%LOOOC3Z2_.@:F/YW>XO3_(QV\C]SG M63[.FU=W,PQ>H\Q-2D;;H>T'QB(X%6!VSIIF^<.3)Y>7E[LPPMWS\N+)$=AU M2./UQ&7G:?4$H6I/P$C8._S^V1,_N'>_OXX_[ABR>9^WRXOSMK%M_] M>"2@;D0.?'"$BLN(6XC; )")>%HH)D:P^L_2-]O>8#DM)/ZGM\'3P%M&X%0^ZH5=J#^5(_^BQL@SU:-9VB2+ M%_=+"DLMP?I]'D(B*U!29:L,[P7_[3%<66G7\#&:HV/.'K)6_Z-.W)=^]-M4 M:P=;M?9MJ;7]_9>'^P?/]@\.OT=G\4GV=._9WHMG1KMU%-EK@C@'TJHS1_#C MH]%?VB*'X_[>U]*A._J>-$E%-9&(9>LJOF2CYKM:ZX6 T%-2%@>_1Y<=2]UJ M1Y.]V/FK44^]-V[5T_U13X=;]73?U5-]0_W$/QX)7+^-.*:_>ZSF'7A0LFR,'^ M[U0A&ZV>(:/GX&"K0.Z7 GEZ+V)-7V/F'[R,4V/ES,IZS<(^JZA<&I3L;C]& MO)72N]NK_;T;B>D?=GG=ZJ3^SX#^VU[*=W$I3_B"A*'M[^W+/_[[(OT\6X'K?EMS.T!WF)#T\A&;_*J;CB2^&U,20.D?!D?G5=.2'_\M?QMS+-K M7"1L67P;DVL_ %\3C?,VM8 M.A^=^ *1=UP@,OJ@5.*_$7\F ^P/TYW]I]A: S7K_K-,_J7YO8#[/_G,O86( MRA/^O/_R\"FUVA+6S^UQOC_'>0MD>F#'^>#*X_S&$VEMC_._UW$^V-[.#^PX M'WS)[8P']@N/^_A+#CA3UNV_&&$O@^-=XL'^_M7^X;.][=&_)T=_?^_6LHI? M8SH,?/_FPN;(53\MY_/RTM)6UJ&+RN^K)_!)(*DI\*7A7#'<,,WX*3<5/,$& M0G6.-5\_*2/S!\]:^1;T08NDOH^^R__O3Q_>?O=8&"==_K!LC:9C7;F+_Q)DL1#+GC_E7 M_J6C->\CD*%O\?0N$$SK@GVD6GI\V:^X"+^45%1_LFGYZ-,XD 1'\H5#.3-$ MLW\:G8!^QF:=?]"@+LQV7&\XQVD]&[T!.0PK<_-7TP^/+F1!?BT;[HMXY5#" MA14&M;N]1+Z^UH5+9/?L^.=[8$)^C=F+7D1M-_J8?L9.?RO5D@C]F\S<(AV] M+B$6/MH9#?ZH!62H7JX=L7CV MH$[+-R=27Q&K?.M'I9[,7-;.I3>1TY(O[HR.;=X4P4@]:J@?>KG(2=27;56W M*>,=3^%V@M.V*O)ZQKR/E'0Z.1ZU2VI,^,_6U4VR[A"MI2V[2Z[&:Y (WA\" MQY=_#('CT^]^O!<$CE]]F8=[]IV=_OG7HX\1U_C#X!-^;XX[GL2HU=9U4\+X MH0_8\16[@Z-2J4<9MFF?I-C9G'4.=S[#UV"G8M@PKIQ&M31VLW0^130U/HA: M,_,'Z,F5:[$C,CU0&K3_B\ EO,YWS-7Y?/?[%U_$U?EL]]G3YW\XC^#3I[M@ M^/SACSW76^PPQ;3_CTQF;ZJ=;7VH\_OLT,ZS$^J/ YL>2,\ M_QI>YK^GU2WLUE>= MT9/ZR>BL<4OL9?H:W(G5D,*X!R=^^*-BGZ -")\=$?9AA(OV:L,>L&'[E?H. M#N]"O -HMF/L$/M^-ZS*P?$3 - L=U/^T0,6^9^"2J1O/UIZV&*O*\7C[95P MGS7H]DIX6 KT&[T2JKQ*%Z,/*QC/]D;X&C>"W0!4Z:3X^R#TKKH/W=VI1?MD M4H*WCTC3]=K_^JT+UD65MCU>; CH^[WU(<(GXS);P7]FS6+^X_\'4$L#!!0 M ( (B!8U=PY,C;_A, #[K 1 8V1X? M!DB*E'@!(%$)9ZD\Q!*%O@!?HP$T@.8O_WB=>^B9<$&9?]'IO^UU$/$=YE)_ M>M'Y^G33_=CYQZ>??OKE?[K=?UV.[M U<\(Y\0-TQ0D.B(M>:#!#P8R@;XS_ M09\Q&GHXF# ^[W8_*;(KMEAR.IT%Z+AW?)(42W[EYZ?W#.'.SV/W2Q\[[7?>?V>MV/X]ZD^^$4 M3T[<#V.7G+F*Z:LX%\Z,S#&"JOGB_%5<=&9!L#@_.GIY>7G[G1<:_7 M/_K7_=VC*MJ)RWK4_V.M].N8>TGYDR/Y\Q@+DA1WW WFT'#DE0KX.S^2M>V= MG?22PI(5K6!.?1%@WUDQ=P/>#98+(OK%1/#[D?Q="NIU>_WN<3]'JJ<\[O9. MNB?]K))NL"++:GAZ%/W803@(.!V' ;D!F*_)!(<>D(3^GR'VZ(02%VS((])* MU@ID?@XPGY+@"YX3L< .T;?AIY\0DLC2^8+Q /DYR@D68Z6IX($BZZ#("NZ8 M@P-EW+*D2"J5*W]$O$#(;UWY[>VK<#M'YE)#T9UBO+"2G*6)I,=/;#3(F'3_ M[.SLZ%7::+$&A5:GRG?EQV[_& S!0FR9^9K+AF_=A*X.'=+^::=#0K>C#H4] MLLP6=)3JN]A5C57WME8CIK12H]A=&&*1$$@03FT$"N*\G;+G(X>%?L"7)GVP MB"3Y8M/[UIBYA-K(3HK+#UO+)(YK(S,I+C\4R,2^SP)%+Y_$SQ8+ZD]8] > MR;YRGG28$9DD T=NZ"SP2NK/.>8.9Y[&A1TM.%L0'E BLL.N8C#C9'+1D8-O M-QD@?O?P^"UHDA3)"5CO]?+G(R AWEU:DX166OQ%1P 'HG:ILD57W!B6W$@ M$3 X*Z#_]O5WL&=;?R!Q0N^_H_HNF=A6'TBH3[>HO:1^@M\1=2\Z5PQ6#4,\ M!>WD\Z^CV])9G)*:ED^8)FQ3?3[UU+\^ZJ;KC"Y2E$B2_G*T2;#!*A3$?? _ MJ<^;5AX3QT4J"#?,PYANO5T+R>*'24-6-J_O$A^(X8-@'G7E8NL2>W*J]#@C M)!!??1RZ-)#3:4, S#EJ(3H&7!ZA;0T9LUB:T'?=68@DT>P,LK'>OIR#K66K#?F8&= MRD%L@E))A[YMC$5MG=Q*CM8 3NLS@$._+P?J,6#.'S/FN82+SW^&-%C6WO^K M1&C-X/TV9I"5^+\HDGGP"-;H[,4S&,O3FL:'?9C&P5>40W>%Q>S&8R_U3Q$* M.&OA_[@-_%(04I(._L 4BKVX 9T8+?QG]<'?XCY_383#Z4)R8Y/+4%"?"&&( M<3&M#KA^3X93J' \)D).Y)>4C\0HX=0B%"ZQH- GAIE*8-]]#.=SS)! MN6/Y20ZQ YSBWC8U9(\4)99BV"XY%,I4W^2MB4X\5,AI/ .A^" M&>'Q*NO6EZ?1K08,*YY:X')K]9C_SR@K074J)6.U/,Q(:1&B \]C+W*Z Y6_ MXL2E:MUG[/5*R;4XY9;I*U8(>*&(&8JXM0B/$:S*>.@$L/SRIU7+?W-D5 MD&IQR"WE#N^WP2A9:@'*ABY)SC.A-S+)-Z.2C"=!4>#KE9(JC]HY+V"%FS5:+HE'P M0A7)B)'P)N4.Z$JFH_\84%M[[CA2ZLXGP9 PN#> )[3;TP M(&Y,-8RI[/ISK2*U)I&+[Q5L.G6COP*!%BA10^YN9!21L^I8E93%,-VW:J'M MF.PS;3E%VXJUUA9R,43CS:RVS^1,\+B"%EK"!$AM.&'?7>UEL4E:J'XSL!*K M-9%<5-+"1!)-XBTW&;G,[,#)DR&9W=$6&E'AYJ:=052RT(%[EHM:EFZ0MA"= MH@U.>2-=;MC 'YF,XAE[]I#9\]7B6' NJW _M1M=J5>[0_)#1M8!XKC^TK_Y M >/6OMF0F1;,7(RS%,P,]P-\ M$O>.XC'UMI@#;\%8BVDNQEF*:;3U'HM"&5FM!+GXJ%&4I^L6VL^7"\0A-*4E MQO9\M1#G0F&EYYJZ2:*QE22D1!T03I&8+SRV)$3].@RY,X,2LI%J@5G'7(NU M^1DVP#J6%I5!B3P%^0'Q54NIIP_JN$0M?;F(GQ;77+RJ M<(SEC" M='P\:L\53J\?*@%V )V M&CQ/>[G 4@6>DK]:ZD@)!QC7/61^<'R5'RUW#W80H(4Z?T%=XY.+?HJ%MA+] M;(H3.UB+*+5XY<)+:SE2VHE ^6G\+;?K;#AJ$3(W:&J#MI*[%N9NQ!TP#S;4G+;_VL^54M5]HX,KU]C!/98)@8+EP,?>4J5.B5]&XT]5V]5F#*:"M!9A M>=^SBQ+)*!&=>>6./XU-Y& 6VZ!E?**W%E$'TVB"::@!-O-[O1.% L9:V.VR M;*[F"-E2;<2X+(FF[26,:BXZ]/(OUBC/R-E*F*SNV&\9IME-AA;B.G)WMCZ< M8X517'A$Y.O/P?7MT1S*1&FM(A> W#MS2?1 MXV6&$$E5#G:C _&.P:(-!F@WBJ9_1_,QE*RUHEQ8>3LKDNITE3[)QL+!G.S- M:;O#S3N)T!I(_OCD5@;2ZB/194FFTA!060D[2]A=CM8<^^H;[\>40<0I]5YK#QK327(I>B[!UWA\#5EJ0A5G./%@L)L1#Z)OOL^BW17C^ )\:(75$O '/=5_/XP MF5"'K"[A#7SW)N2@ +3D/9F/">\@/!8J)=E%!ZR>=)"/Y^2B8T#HPSQ(>K:$ M\'7,/7J^4-F2I.87'3>,EN\=)$*0 M1J[L99N+CH1,5I0.8=%$3% ]Z5GT3_ MW&5S3/U;^%%RZAR55G#ED6^RHX%*4/E$7H-+3[VK+:WC!'MB54DSXGW6,TC$ M&%1U2+B,B+#);TS&RV[]@(#Y!N)I!G]FS',#%G ZG1(^HU.8PI)7(*""+#@@ M6=H&.W+=9^,L(M4,FB9[IRYV!(.XNF4&7DE2>ZVB)_+@/S2Q@54?]XZ/AX]? MH=NI3Y7/=53J@2WGD>XB7RA6^8.YF,D[] MRJ [#9P9A06CN^HU=_#-B[(0??;HE$J7PGZ#CG4?>@%=>'2]&=:ZY#Y%-J._ M/A)YZ?_R>,C)A' >W[FIMHYJFD;8N6K\W(V$ 4P;_:DJ.EZF1;+8WN-7.@_G MJYN#H&"2W'3R_BLY1)*^8*YNQ:,AV@,PEX_TA=H?'#.3" MHG3*T=;GTW=-0/,F^ P6*CF* 1%5KE;C=;;5PW2OGBD,0WS5"-47W.\\SD5 M B0(6)J.")V/0RZB)*QQH!E/H;!ROY).#"N#TW6P;D;$ZX[ZH%PT--]@1TV& MXY=)BW23^))QSEZH/Y71O[16I>VS(]=F-$T:[BQ9BETNBR.BGU\7-%(O>D7' MUP7SGZ*5L'P(AD/XVU:,9CC?9-33;6VR4Y61"1Y_] MOP 038=";I M[TM/2QE0_O S)84APH'[GS!Z'8IE;#%+V%2++4JU;7,N*$_SHT$TG:GDMJUD M2)0XH3R^"A-WDKY'<>=)D8VH'[\:*HXHU!>;^!N$(I(C'_&%_4P.^*N0<^W. MO#%Y$R*$0RI?2P=+.4_FJ-#,$0O+-F)D2M+?14N,./O%8",1ASJW6AK,M>!0 M0Y7=X'RVE"89CLGM]NXN,VU/LS(;S_3S)(T ,]EX')CM3PX:I7QJ1RH-X\/D M:Y(.\=L?9&)YXT&OC+ 1V(V((%B&3'WW6IY69XLH!XTZZ:4) MR9N0-J*2R4;S]V<'Z%4,P((Z\?,XD0:U=VJ MDJ11_N'&S#_<-,D_K%[TEGTK574]*DD: 0@L-_IG WCF0D/[=A MU=0S"\D%IV]%%YQ&4!SJ]AES;[EV(C -86IO3FW/N*D;L5>,$Z-Y8D'!1G2% M^L>7>A,%_!"MFC'P;>2?3YR)]",//H'U[9/,6H*E;RD_DV/#HZE^JL&UU7WHR)A+Z[X#Q_TTAE#1?-5_:,'6Q;^S5W75[W]B!M#[[547_PP-JZ0Z(^5Y)S'4'TRDG,+TFNCP\EFR:.HFX9QZ1F0VY=%]S6%K &.0[U4!7TS0" MY7LL<;AB4A66W N/-A0-]^9L.#2BRG$*VM4K.DM--U^PL%'\V2Q&_[E) M0=,O,J"+@2_C2_,PO8[J^UJ:RCHJG!F9XT\__3]02P,$% @ B(%C5^[Y MK3D''0 &18! !4 !C9'AS+3(P,C,P.3,P7V-A;"YX;6SE75ES&SF2?I]? MX?6^;HYQ'QW3L^&SUQ'NML/'SNP3 T?"X@Y%:JHHVYI?OPE*E'6+(E%2V>MP M4!)%57V)_ IY()'XRW]^VY\]^H)=/UW,?WW,_\P>/\)Y6N3I_/.OCS]]? 7N M\7_^]4]_^LN_ ?S]V?LWCUXLTN$^SI>/GG<8EI@??9TN]QXM]_#1WQ;=/Z9? MPJ-WL[ LBVX?X*^K/WN^.#CJII_WEH\$$W+]L?5ONU^T5,)PQZ!HZT$)K\$' M5E^DR=[SF"+^Q^=?;/(I9&XA),- 9<; 15; ZE!DMC&CSZN+SJ;S?_Q27V+H M\1&)-^]7/_[Z>&^Y//CER9.O7[_^^5OL9G]>=)^?",;DD_6G'Y]\_-NESW^5 MJT]S[_V3U6]//]I/K_H@798_^?OO;SZD/=P/,)WWRS!/]0;]])=^]>:;10K+ MU:C?BNO1M9^H/\'Z8U#? BY \C]_Z_/CO_[IT:/CX>@6,WR/Y5']^NG]ZW.W M)&7CMVE/7_>?U-\_>;Z89YSWF.F;?C&;YJKG9V%6!?BPA[CL/\W#89[2NR3/ MZOK+HP/\]7$_W3^8X?J]O0[+KX]3_M9#53SSDE54_WZ7RS_Y+D(*LW0X6XW8 M&_KYY"85\$#2X+#^,:Q6R1SGUH5I6XZ-9_.0L19ZMW)X<]? [A8/)F M&N)T-EU.L7\ZSQ^6B_2/O<4LTQ/W\I^'T^711!>?G'8:4C %5 D%O&&)E,A9 M"-$C9GU^3*NX/2&3^I@/\'9LE^_LQK^U=!OBNEXW)O(/$E. M,FW00BS>@4I9@HD_GO M&$OHTB5RG7_V3C[QI#_YJ1LB?@1$[ M*J 9$<[.5I'I9%!;\-IJ4$IF<(E98+DH'H5T0LO[,A [2?+\L.OH69NX8)-- MCI.32G.P"JI ?=J AQA5\B)(.Z! )RA&:OCNI.T;;-PV8]W0U,V774C+OU'H M\_RP7R[VL5MC._IC,4\GX)A+-)TZ 5E&BFR,H:"&*04Q&Q%#1H-%-3=[&T$; MJ0G8!>J^7V#%*A=!2NIJ$PF_HK, \$J%-\RSPF;*5(8SU"% MQF2Y%=1([>).-&FKB78$6>Y]IRO)> :/D4(JS6N^(TM0-.&!,RR0U8\E^B1< ME*VGD>O1;$()]:-1HLW8#^DF\Z",3KR 39&\TW,V4_C3G:94]S-Z%:7X]?QX.ILLPF\@0@V)10'(4NBH?&4F&-&?;1++Y MH*QIG1&Z!LJ8?)S&%&@Q^,V8\!Z783K'_#)T<_*^^J[7H<;\ LLT3$(F N:F<:DN!W5F!R>QOQHK)(ALD/K.%]*Z9,M M-6BC4$U92?.6T!Y$DESXA"FSW)@:M^54MI@,4UHA;T;OE_L'L\41XGM< M/6I729H$V6@7P7%>U[IC D"&9/_U'[2:*" H7.(IYA, MU-(1$L$9)U/-,T2G @GN@] I.\-;+SOTPX_5)]HM^Z M1=]/;+;H7=0@'06(*DH.P5@#UC)4F3F?76O7XRHN_,B^N<[P;*&'2V?-KWN#P'S1=ADN$D M,-=8BTY=K;6@&!AEHG\4;J._A^GR$K Q.>/-Z=)>-J-91_/5HQN24-^='(R6TB],J-_L)D]X9 M:30$3I&A2B% %%E!"$E)IK63A;6V*:L[-UEZ/K[4F95/Q0H74=5THJ19V9+[ MZGG)0 ,;*<81B:G64]^50,9D&;?0])5KS3L-=C/>ONL6%,8LC][-PGSY=)YK M1OF@5HO^@ !:5B>VV!@=,Q"RC>2-U>)QJ6FBUD7DXA"+;:WX];W'9+4:*'FK M(6VXWM8ONVE:8GX>^KU:_TU?*L^^A%FM"#\S^\BB-OZ%&+C>$[+R1KY3[D1$H40H.6O(W-=LE!,0$V;( MF@<;?!3,VL9:WP#6)EPP/PX76BMBH&6&]W4TWY9//:XP54]58#$"A'>A9BH= M.%L89$S&,T4!6'&#KC)< +0)*^R/PXIV@S^012 ZJJP3 MDFBK!5*N H7 >M M6ZY2ZT*,&RS"%GF_*ZWNT^7ST'5'-.['M7*HM;6R1) J>5!8$D1$73=4 M5E\NZ\";+Y-L FQ\P? VO+B4\&NNDX&\Z$D4(F3)"@2C"4.R&7S4$=#;(FW* M3(G698OG$8PO#FY!@!U&N66UQ6J18I6N)#:^683YF;0E!>9K24W2A;M2@'-# MDL84P-N,8(VC"=I)'EGSVM5-P8TOA&[!CV%TT]2GGM-'CFKV)A5ER/I3B&]- MKAM1:)K*H4 1+BL?5 RB=1G&V?N/+UQN08"M1[AALA0/PC2__'90FXFL/?;S M$@K/,LO.@%5!@>*UKM!9#1A8$@8CB]A:]1O &E\,W8(1K?71V%W^+YSE5XON M [DR-&F]"QVY\2^F_<&B#[/?NL7AP1JCLCQZ51QY-04)H^?@!)*'SWCDC/F M&0?QIS=%.+ZPNXE%&4Y+#^"1H%1&*G3 9:GU9E: S])"2N03*V55'*R M2:,J)0IX5?1)@?9%D(<8$X1(^K?9D\^8BW&^]>+D[55*#QR.#<*6B\_-SMIH M]W3,9HNOM8D7/<#7R+P6.-#\X!Q'"(E%BARC!N^5 $..8F(ZIYQ:V^7-T=TQ MHH.?@$0#J>X"M?[RY.*(OJ&?6_;$^["DUU4&=U%.$G?TV_;-\6Z[SU!=\NXD M7Z-V>:<)T-=S H=OZOPB422GI0(1F .5DP,7 [EUHFCFF!=.#I9S_@YC]U02 MQ3"'^(H>NJLJW%Y^2[/#VG:SNB;T/W\,WR91!LU%3B!-#G6)"$ER7G->P4H6 M]MHBW*2-Z]=/8]A5+:M-3-V&O!V1?RX/"-/*13E*E& NZSIQIZLLBD1 MF.-1%1ZD\:W7Z\\!V#V3MK[2^H&;S@])9=^MSS,LBPZ//T?/&O8OO]%#25R: MSD-W])H8L"JAJ(_J8C9;:7N)'?;+"87^TJ(.P)BK'6*B L_)G[#9)%8+<3)O M'20-*,Z8YMSM.7@YSS<._3=,#9\ /9DEGN$,%-;<%@P7GN M04G&K&79JN9M;ZZ!,JHYNC63=AOXQBP8AM:)9^:M%B"5H B)A4C!MR5C9K5S MDBD*TUI/^?A5C@& 4@\1R1%Z"XK;UQ']K^/"P$_98 M^'AM]@DR> )&T$2F6 6;ISEN1#2F M8H*Q,JRA3H=+!2B964DB /E1=?DJ)X@AD ]D4F1.::9YZ[V)-Z<"-I>IIDB/ M5^M>[Q^$:5>?Y?5J[_.]T'VNXJ$4RG+R$W7VM2R2QC>4NLZ;9$K:BJ NU"1> M3KQN<)\Q6?"=5+SF<.NQ;5EUAW296A3X K_@;+':&[5^I@J6DA4:2*DF;; 8 M\@AX!JL\!0O)>1$&V*YR/: Q&>(FO&BOAK;UF(=I>=C15+OFJ*M[B8M,@*I( MBNQK*T-'KO.R+BRW+]1,-^%&SQ=>!E_>ON,U]K.[?)EVCQ?U:/T)W>M=<&ZE2T&#*((FRBPH;M3> MT,/!$XL)ZPF9S4N);P$UIOAG("9=T:>AH:+:%:.'H]6#^[:<"KR:L"?)%>\3 M3AV6L:TKW0M=6NBE97^74_*^[OO#6G'W MMIPY%V#"N./2: E&V4I>DMHK0NF0R^ 1*>YO[2??"FI,4=0#S#*[*ZKY+'/2 M%OGCXF/X5FN?:@-Z$KX6SE,LB,_"RK'8KX[B:E G4G+!8LA0"D6%2H0 @3P@ MX$7SX+TV.;:NSMX6ZQT#LI]JEAI4KRT+G*X:E..5G?.#$FIK'9LS<-015'2Z MYO%]W2',*=#@*L76:>[-T;5Z&C\NGJ9_'DX[O+:'U,0@5]9D]5PH%(&+S-3&:IP.I:#5P415 JTF0I M&(53TK'4_%BQ;2.&!ZXK^.'IN:OZAZ;GE5$^,QFY-["J@E?)%HB.8H,2T20G MC%+-CQ_8=A'D@:"YGGS-NK:O'%CG3;0N!.>; M;SK_*R7$@Z<>]+TB>3^.0V(W,FL%)/-^Z-O#&Y,L^]]$JBYX@;JT&!E$JRX -JP M?')>N]();+%D#X2O?D3[:?5NVU ?N+RB-3^V5T#+!;8OTYY&Y-6B>[$XC,MR M.%OWVIH86=L=&U\;Q-?C[+(#,OX,=6HWQ-#FJFGW1GQ MY"DNCSY@.NQ6XKWZ\L?TT[S#,)O^"_-O83I?D3E[X9U,KLY@%9N-)+1$2)*S MY'+0J%LGB#9#=L=:]I_"D1E 9X/QJ=;[+ Z7[S'DZ>SH!2ZQVY_.:^>]5V': MK2+>[WL"*^RG\_EAF#W=K\_$),>D.,N,@E^LVV1%W<81'(@<:PL-EI1JO5[; M5( Q];1]('+>'P%:=E&YD*&]<&K.F9.[)]HQAX4%R#EAWF8VONB8&#J:_=[L*KRQXU$R5QLOTLU7.ZA3Z@[/_69B M,6=9%#F3)=5^MA2+!AH!"#FEY!/%)NG6360-\6S"*/^3N&D/I<8![=]5'4G7 M,(\F&)THZ%=[\VN#,T3P0FH@TRUM-D5C'J SV%T@;I3N9#_7C#:D%N_G#$#R M ;OE]%^K,3WM^#]B\U3 MHT/JL8UAO:7_#)."HR5',/&L0#&:DDR54%PXAI0 R)F=U2IKIBA=.MT^V;X-J(1@^] M%7%X'NVHL &I='+BV LLV'5X]BV\^6H;\'I0Y(P/4AB*M=/K:P3*#(/FL:!2;IF7"&08Q)&6-1!-7^ ME,D; &U$)_/3TVE;%35CS0L\Z#!-C[-D0C"/,1%OZ\GQRBH+W@J*'S$5M$'J MI%OGP,_>?R-._&1)[JW'?\CF5B=GV)!-77R>3^O%SK_S+\PO5KW]CBOA7^ R M3&?]>62;];?:\DX-6ERUD+%1EZL;\SG/5WL)7L\_3O>Q=&$?"4]9=/NKGA]Q M-OV\$OT#O?9EBOF2$).".1JOZP$SVH&*)=",@@FRYX5S=%&6]L?Z#"C0[MW] M;@!W>?@X#]6:&Y AU_(?;2@NL0RR<,F%4!RSK2LF[H9P5#7YHV'RY9:"@VF] M8=_)FT;O<'^EUR_X/"S3WJ>#I_E_#X]W67]:Z3 5V,KWWL*2S2R"%*7YN:^ZQ*:S_P'L0:4Q'K#_H,/ "_ MVN2#UU)]O4JJ/_#K=T?M+F-]XH\YXTRD$,X4!LI+ 8[D QIKGXOA4BMSFX>.C_EC(LB0#ONS,*N@/^PA+OL35_5,:+F#@[[AE1LXY-O(T,@!7]^& MV+"%A&!BU*/> RY'B*603@NA$["J= ^4_+]_BU.(EI=ZWWX^CO-T=TT MS/J)=]JG)(F9+)%0/%"P*FP"#-HZD2-)V7K;WY5 QN2L;JWUJPX-VFW(FYY# MM8+RMT7WCYJM7"3L^XE&:YE)"$4Y53,4$8)# 5)+[K312@UR"M5E)&-RU-KK M?_M!;T^ 5[6;_A[F51?UB3&6-)02"%_[Z/M2&Q#D! Z#,2$&F77K#>57(QF3 MO]*> -L/^GU[!^N6;^%,M[U="8LW;V]Z I\'>M*NO_5M7MZMHASQ+B@"9UJL&YQ)" M;7@BI$>34T3>?%_TS8C&Y',TX\D5.]):*:69+7J:TG%2 ?/990[Z?H:K\9_G MLR5EUW>AC,(KXQ%!QIC)DLH"@7,-,M',JJQ+F;>V7JVPCZJK_6#L>Q!-W[?) MO*:VN[')O.4N YG,N\C6R&1>OMOSXVT]Y(KQPBAT6FD=%(N")JM4>]EK[8O* MWC4OVKL63(,YL%Z8&%\H)B!5A=DK/+TZO8NG[L,HHQ1?7#4&/'D6_;<^9:$<]3E/P]&W0BBMK:C8HI MBCR##A!EBHPYXZ1H?HS]YO#&E @8AC-#Z6K88^WV]Z?'K;LI>CX^-?LSSA/A M7NT(J:<3[>#PW.7R38ZQVU*:1B[.Z4TFV08FG3*047!0*2%$Y0N(@LPR:;20 MK1<53F^^T^KJ27GU&4D4$=+0G4*C619Z748S)8]A- MV8U&NF%/ HJS/V*W_QV'G2'TMQ14.W(<2D1@]3>)]LZ?7(9Q9CL M?1N-[SC2#V3&?P_U6.[ET5.*;H[Z:;\HYYD[C'7?]*[#&OVM9&_F"_0]XOG[ MG5:AK,]1>5'[!I<2.)$/I*H<] M[H4"\Z"LZXZXI:^\Y'B[=H_G05O1/.*>:<\.M#!UN8*9#E\2 J8 MC%PF'VF.;]VV8%NLXW*QQD+"795Z[Q2L#\G'KXN)MSQ&1[X$,Z%6DW@&OO!8 M]]L+Q6I;H_!09N$$XK@\O!$1;AL5/@S/B#@XL=8Q*Z4&)K*NN]!H2#P:X%DZ M40^-3=AZO_N=08ZIY^SXN'9G-3X(VUXM#KM)D3P*R06$8 .HNFW2.Z8 HU U MD>ZR:'WT[%TQWK$U[?\OKMU9B6TV?=P(\>/B&;X+T_RT++$[!>F20/KOP8A8 MK;SGX(2TH(I31>4@A;T005R3N+S[OF;*E5L:=:IYY5E4EI#RIH\ M'PJ4Z!'F 81U@H>H=6:M"V>V CHFK MQC@C;!(CF7\39&B]$7,CY_('R0_OPIX6*GD@2WK<:O7[[X=9I+WN+L-:R8UD M:V03+]QKPF5 &[.$J&OFG^<"+ML(]!Y*1S-#:=^%^CR$)@6A9T;OU2'Y'/C[ M=#[=/]R_>>5-&H%*DT.*5I+PGM4G0'O@6LI@0T;ERK#"WP'MF&S=+BRZLDAT M>/VUR;I= +O.Y50T;^>U">9'^CV&FMJ9Q((B\Q2!A6(('5G=P%D"SHRM&Z!- MNMAQX)ITVQUN.B:3UH(D@P[ZD*;L WY>[3W$Q>=YK#1KKN#VJ8NSAR"7J+/T"#$% M!BHK$M++##R9>GBCM]H/MFE@G&=1CY57NVIO0[?PY/WZ$D./?_W3_P%02P,$ M% @ B(%C5V_(E;C!:P YM<$ !4 !C9'AS+3(P,C,P.3,P7V1E9BYX M;6SLO=ER6TF2+?K>7Y$W[^OURIB'LJX^QE0.1V;*E$S*JCK]1(O!@\(M$% ! MH%+JKS\> ,$1)#> V (JJU:29$4]@KWM2/<3 ?CT=^^ MYW]AWW^'HS3.@]'9W[[_^Q^_@/O^?_W7?_S'?_X_ /_GQ_=OOOMIG"[.<33[ M[M4$PPSS=W\.9A^_FWW$[_XYGOQK\#E\]VX89F4\.0?XK_D_>S7^]'4R./LX M^TXP(9>_MOSIY*]:*F&X8U"T]:"$U^ #JW](D[WG,47\_\[^:I-/(7,+(1D& M*C,&+K("5H3")$W&0WR/Y;O++__^ M_O5]I(/1[(<\./_A\G=^",,A(9Y_PNSK)_S;]]/!^:5X@TQKOKT[3%??19D+.%B.&N(^/YG-\4[ M/@^#E@*^]]$-T,X_",[Q/.*D)=1;GWL#YQ+D783U(VF7Q2^#*?WW_(@S3F?U(Z7;O.'K7B;C\Z8LK>3N1#R/\+P M_AY,-'>O-.-3-&9J\@6>7( MYA(!O,,$.J BLPMECJT)T@W9L^=(#PJX3Q/>EB9S2-.3B]G'\63P/YA/8ZFP M--** R?+G2&9Y"& SDX7RZQ),?=*C[N(CHP66PG\/AU$'W1X/9U>$#*)S#(> M!+EC21-18X10%(. 5G.!T:NB=D"%!9JCI,$&@KY/ =D'!=Y>S*IW6T,&I\SS M4#)+8+Q-H)0@ALI$A(U<1NMUX7R%C=V7)[G5)A1H!PY-HI;#XY6 M"2B"TT9H*4OH6_W'9"DT$_9](KAMB7"UU#]"'.*I83*Q(A)8*0F-<0J\L88< M6\EXCD$&WUKUMQ$T5/:-JX_>5;R%&%?%![Y;!++_FH;C*>:_?3^;7.#U-\>C M&7Z9_3RXS L0KNSKW],PF@:4A7\],>O-W]R\F4P/=5! MFQ2B)#^'"U"Z(/A,9Y>5.2LDYMH@&[.D.[J&#'KDHNH11FU @?%.5-%#).HF MGI_FFVLG1*=W+M%Z(,E/-^ZFVIP=#]T WJ="7_I[A"9;"'\WM$@A1Q<#@Q # M'7;D&9/!4Q(4%JTH@?Y7^#.EPZT+UD-BPSHR[YD%O\U-KE,,.1D7:$6V1DH# M=^ XG;%.&.$YG;%&VQY9\-N-B^!=&I3;ZN8156\@V /H7RTO MS:_.R.FXO*6S=9X]Z#K:O;]Q;"'4'NZ[+_'\0NNF]V@.Z9^#V<=7%]/9^!PG M/W])PXOJ)=?;>?I?_B-\.2W".4>+A1RJ$- X,JQ3#:0XCT:1M8WMG8^U8>[C MC-E&MZN)TIMB>K V+C?X?'SET]UA[X6B*5CU7,2@XHUWF*S!E_( M);.,7AF?L_.Z]77'DZ">_9;25NP]\*+B>EM^'8]S1?_%+ID@?^)%@ M_43[W'#\J;X.EXL_98EGIQ0"JD2.6,J_XHA$,"2()_F+"1_L\&P5(1[?>1>SB.C1%;R[IAKDV-1IS.,X=?GW\*@TG=R):IQ4MH M@OL2G'=0HJT7O1'!5Z01G[VEP60F5 M$TA3LX$Y&39D/7-0A>2-TL6%T)L[>0WC>!S(#47;@Q5X72FRP/1Z-,,) M?8?6R8P3@0$W,M-BE0*O,4))=-)88Y37_57FW,;R[/7>1,@]&'/+PJ#Q;5XN M34WO@Z3-1H) 7>N=:4OR*3)(FB.S*EFC6V='/H[HV1.AHUS.LR?BH:BZ!YOU"O+E6_4C.=1E,#O5 MG-ZMQ RYRT& 0N; Y1Q(9BB5+$SGXGIAX#TH1\*>[43<@^7Z.\YN&%::!\^2 M1$"CZIU04A"MBN0Z62YUQIAEZTO46P">O98W%V? MUP+X[%G2GSI67'ENG6GS -I+:J^H7F6*^5J0I*1PH'24$ LA#S8H;Z)/7K<^ M1-:$>*P$:J*2%13:^MK\3H&#+-YGLE_!&!]K'!;!H=D!Q?:W;CFX'2PH',B MOS=I3V+JP@5ZP T>T-^N.?#0LP^DW&N MIYNN[P/9;4E/&QW=5W@C >],^RQ&77@M+:A=351P#EP@=Y>LF< =1IY<)W/R ML+3^0.7.#I6^CEQ[Z20U!W991"(YY\FK!/6&O:;1"/#"6RA,XRLWM9-B0LCV16 N,ZDTTI"@0, M&DPQ4=J$"N6=VZP'LE,Z/.PY:[<7@3[X/N^[#JN?+J9K/70_%5I[Z6M:JS&X MKJ5_6/L.R.PA>B;!1:V%K8T&>6^.U)O&Y5IK%8Q()2VK[=(L3P'HS2C@!*LW MNTEX[U,RJ77Z_;.HY-F2(RUJ>=9132]U82N2/*5)7BH1PFM M@G7?L:5M5+N%& \WMI20:Y48%*4L652\U,B*A< 0,Q>L!-8IX>KYQI;64N.3 ML:4UQ+F[V%('4"\IMK2.CKK%EC80\,ZT;X..D6D!AK':*;5V/>%D<62>"#+J M(,U+B"TU5_HZ9&QI+:4\ M&EM:1Z)[B2UI%8L3"9BKP99,UDRT.H I+&46-(K4K?+I&<66-M%N+P+MN9W3 M4WVLT$F,3@(&8VO8DY,-&S29M!K1<,&+;5T:\^P:!&YBU?6LBAY*:5;UJ.N MZ%N#P(WTUZ%!X ;"WTV#P!A$0N88/ MMFQ81^:[:1"8! JL5HPUO$[6(2O8*QG!:C*+4\F>-6_)Q]3-A+$PQ3_ D7_WT]NB_9]^/A\)?QY,\PR:<\1V5, MK@W8+2U::G*C5#)03 X8?$9I4^-%KPGQ(&X>F[?%WW^^[F1NKO4T^Q1,8F[W R&%^F MY\]_^/;3W%K_^0M.TH .>&)N\$J04V\%5L\^)PA!UG& OD01K>6A%YZLA?(% M\*@_K?70=N(!Q/.I8:L!VSI7T+H,0MD,2M!7OA0#@C9,KH-*3+5VE=8&^2)9 MUDAG/32S>/2UF/?A.#7""Y\U0D9.KP&=L[4O?08,.01E&*%M/V7[*50ODD:; M:J6']A$G^?^_N!R=_Y\,/P71CDUZ-7X=-@%H9SN#',/=SSV@%AGEOY M'DE44W)B+R]*%DM[CVE\ME#A_&4YYHT!!\0?$P:4*CLT"++L?5\ MTK[7=-R']AR/F0?7((V56>D4P,M4;W6%KK>Z'*1PFDG&BM*[-.-> M-H.VT$T/O3XVWV3G5L.;\>ALAI-SDBM]Q. SOAN&T?3)_?2 MJ*Y=JQ0P@9*,C1)T\TUM/RL];HH_ _;TT"5E<0;419(,_PA?:JE#%2^]XO2- M91^?V^L]E;XP[V4=2!"K>9TM."@1/DU,7$,$?+17"M>ZQL ?>XR;Q]UR! P5XLUU1YE)8'WR>F<$T?3.HOJB9O*)E=O=8A'*5:"(+L;E. (P9.@ MBTR9!Z&18^NNRT]=O6U=Y&83<]XD!T6G6&/!M9E$1(@BT+]UJ -OOZ8#*7+; M)IM@"S'NN\CMWA(6Q*JGR7A4SYYYDA]R:R2SG':E.AXKQ0R.NT(O&[&4&KXTF"%\;Q[.00$5KR<.PNEI#P9#G&Q)O/ZWR#HC=&_<-E'-OMM V MDNTAW_"!V-PE.,V=Y3EK8#&2CZ$3@U!L!,-YL2B"1-/ZI7\4T#%0H)W$>ZF* MF-'Z,"_;4%^B4MJ1HZ,L,%T3^-$%\$$12*4DEN+)>6T_3W 5DF,@0 ,9/YAK MN-,BB5=A^O&7X?C/73;O>NJ9.RB66&O9_15,6!L8K^F"V?G:-2=*"#G6W)S, MM2X\6FR?+-6Z8&(Y?RF13!>QK5..&JT*",9&"\KQ4D?'TU]=L-EER6A]C==U M'\5!E#VLH^&'!EMM*-@^*AONEB!+YXQS8!W#FO*J(7)'VRB=<"HI'T3JK=YG MWQ&H;12[A1@/)0*U1LVIB=;;Y"(D\J)(4D:1.<0YT'DHL/B"OK3ON_;LBOG7 MH,#FQ?SKJ&(W5=M=$'TKYM](?T^7;V\B_-W0HI!';1QY3[Q6IRM5V^&3<0Y< MD4<=D&/[:ZCG5\S?F WKR'PWQ?Q2.N5K]VM,J39#CK1 +!9$DDI&FW6PK6^X M#K28?RW=/%W,OXY@=U+,?]FHZ$8>V$^#:3@[F^#9/$=B7"Y_XZ?J> ^GF_BE M:S]C>S]TNV4U\CMO/_+M\I'7IJS)Q!Z1,UA;F_5*P<%'^JO@CCEK(C>LM;?V M%*9]M)-VQ454@8%%5K.]!5GT7GO0V?$8E2LEMC]SGD$[Z:;\:=%<>AU%]> $ M/R"/A2&?A8Y:D@^0>.W*5;0"GT7MRN4(WP+R)Z3-[97U%T*;"WEWE4?B@Q6U0O$ ME F4"A%"3AP$VU/2\5>NK\00OT5RZ8S&5 MR&C3@LQKR4M$#C'2CE:DE<%;EQ+*I[R;U1^]ASN0S>4\;B:DUNV*?QR,ZUU, M^(07LT&ZC4MAO0K0AAQR%>LZ/43M%' 3E#.",52YD_(>>KS;=A=0 M+VALQ%HZZC1!8!,![VQL1+$BI52'<>9$_$8?"5P-(XB@E4S:6"&?G];7'1O1 M7NGKR+7WL1':*"M#9HN;=[XMD.0KU(L9&K*641\=&K"/1?8R- M\*0/JW4"G9( %1*MU.I">@I&BQ*2,*&3/?:,QD9LHMU>!-IX\[YR!W_%\1E9 MD1]K4/JDE* SRK<8ZK=CU3]BN^U2\^L(M['&3\YQ0DBN\ND#5RC1U)X<9)S2 M6B HJ2%*'04F^O_<8I>__=3='NJ-U#!N(L,>;DM__NWGDRO+,6M.N"':.B/6 MQ@!1ZPQ&EB)YRHSSUG7)UT]_SEK=4I:M ]@G[TY>+4>*<>V5%Q&8E@X4_1_$ M3'ZDL*F@28Z)NRI]P-B^_LSGK*AMQ+.3>J#["4GO<%+&D_,P2O@V#@<+N[)I MEM6C3^@CQZK[DG:5816$*9PY#SS,'6<=(;*D@*DH&8_)2:Z?9X;5>ZPORZ+_ MX7VAGUJAA!59TI'#."@6JG'B::]2M<5-%EXT;XS6"=@!9E&MPY$'LJ@:*J,' M2Z 3R)^_?,)4NV<-SNE7WI8/]-UI6>1 +WH%\M/ G.5.(DA50Y9D_=;!I0&T MY"K:>[M\+^$GG76J4]Q(P?C:IHPUSQ)"#-HJ?71I A(#EAT\$P)I1, M9D>;]V&E]&U#G&8"WW=*WX/W*D88VF5K0S>&9/KQ9"%$G8 )ZR*QV67;:9,Z MEMODM93ZU&WR.L+=V7UB%U OZ#9Y+1UUNEC<1, [TWY003N>' 3G&*B"":(7 M&7A$X007A>L7<)O<7NGKR+7WV^2 T<4D @@R6$#5\N]0D]J#TSD$6S(/K2W/ M@[Q-7DLIC]XFKR/1?=PF&^6ULQ;V[K&]QW&]QW!<33_L6Q_T6Q_T6Q_T6 MQ_T6Q_T6QWT>MOFW..[A1/2^Q7&_Q7&_Q7&_Q7&_Q7&_Q7'W'L=M&1C['6=U MIAK9.?.!8I>SG,=UW-KP(F,>C&H#^(O99>.UGP;#"W)F+O_5N\M_M47B8]/G M;Q]0ZT\G#C[C!TP7$UHC3A<-OS O&H)= 7Q;EIWVE]"N_1.'MO^,C.E=Y')_GT$?/%$-^6 M+9>S\$I3X!@3R=-@JJ=1K6Z=0O+MBO8533H(!B\1^7O.\[4 M2 \_?EW] 7/GS2DCM=&NSA]*H+SR]C?(TG; M[OC-R-*#7[X:V>_A'*^F-#V-KZ<.B$]AVT]3Q(,A0R>2;JG)?3!.V5H8:S+X M.I-=Z4(^+G,*L)3 $W<$M[4ML1^F/=&+\=D2;1T%]M'<Z&K*(A.<]E\VX8 M1LM)D:XXHQ0#]*8V,O!Y]QNELWMMT,/I]//HM3/Z%LVHJW)3+9!*JJ+8(2VWTG.W#3]LOKU&8 M:=6#;W@Q,I>2,@<9(EEE6 1XS@/PK)PT7K'0/'_S44#;[CW78G_[YPCSCV%8 M=IY%4='4#E"8)(V2F&" ME:TG0S\)ZIC8T58#/9@LET,FWT[JD*#+O\RA3N2BKJ#.61T0EOFQNZ#]Z^GT C,_35B2=UQ.<=$RT/1>L-^O_/KRP7,:VG5@3+CB]E[#&1Z?B5C R?GM"B2Z"]A M,/E'&%XL=VJC932L*+">MNLZ28;L4'HK.:9";V(ATS0^97!M!^$8^+5#)33L M.7C59&E]X)=7*I%;ST)0H&1-I#2:O!C'%3 F;; LI' ]4+Q5?ZM-P1X#SW:K ML?M44TTB!8L=\R?"/L^['HSSS9WTE_$R+VMZ*HSV-I#32N8DR8C>!HA)29!9 MI\RD"QA:7W2OA_"82-6C;NXS2>]CWEUB+A1K$!SMJ*"*+T#[K@-N1>:)>6]S MZ^WJ6?Z,OYM/3Q='HR&EV$X>5^ZRW+9!5&$AZ] M(,K6*7 F)+#*L.13-":UOIELNH!C(N/^-'N?IG9;FOY]-,$P'/P/YE])JA7= MV]%-_[HXJ;SQY']8)'B!>_#>9Y"<1Q%3EK1[-R;>$Y".B4HMI7^?'&XK9_!6 M[/DGC+/U[,2;'$_286!2@PVU]*4X"UX4"T&3H$*4R 3OY!VVPW0,+-JGFNZS MS6^[%:T2T"(%I'#A?#&$I-24Z1#IJR0B&.=5\)Z.>=7Z8OE!,+O*-^MOTVDC MYWWG@\U[$%]E&BW.Y-^0")^O-]#[WT6L5Z:+!A52*UJO!D?';,W#8^ L%M!T MYM+F&IF5309A;(%Q7QE[/83K\M*]"[*&%8^/H]G#5(V=:77< MJTIV2QJCLF*:6="%6[+XN2:C+ELPRC*3BTH1TS,ERV-S. Z0*^MHHO4L@-]( M=.EB&"8U9G$>A[3%OAZEY#0.Y=F4>&IT3NM8$&VD%D+VF:QH? Y\3TE?H M@BX8]%V/J-VH^KM@CL/*:"OSAC>K2V W\2SK3#L@ZBE%^SZ:/4^JWTY=XUYD MW4/"R ID7"!Z:3C$6M:@# H(DMSN0KL>+T7*]E4GN])^UZ'U?2M_'1'WD=B, M$]K;?GQ'RL/)!/,0.C"L=ZS@#>^@(I.%#* %"O-;Z@?AG,D M+-A>U*V-_@6N5WPE,!2ZN)08L*0(F*WA5V0"M'8A%_)WO.LV?_>QISQ;U;:5 M7^O,N9EH2XZ($@J6")<C<_/:VMC0O//6G4QFBW'0XIL;;*ZMFBL*5 \:PC,&,C:\6*B2$FK3EI] M\!'/6Z5M)-

:Q&(5[5BRZKZ)*+W-L@,N1H:LIMK(U_,B/GI0XL MQ,BRRUT.WR<"?1R^=Q/)-IZ"_1X_7=1.3%,\.9O@PLNX W%97ML!9,,@ M?F=@NX_G;Z_#\:X4T#ADWQTL>J&4D[)&$PFLYY:JC,-F MR2.!_#V19!VY[S16CYI'6J$ ]-F3V5G'B*?((-D8I=0Q<=ZM0=[AQ.I[TDKG ML/TZ(NW%49\?B5_G%8F_CY<)--=GYISR/ACKD\F@'7D:RN5"'B6SA-ES$9D( MP;:N_>L$[#A,BOYTT4+@/:*WM=.FVIJ5Z"Q]TA M,YN=,R% B/5-2SS13IPM,)$]N596T5E\;*1ZZH[AH#BUCH+:!Q___4\<#B_/ MV**3$MXZ$+;>L$2-$(RV(%$'H3B:F%,GL^76Q^X^9-&;],=-1->Z9?/)Y'\P MAV5Z0Q2R<+*UL\X)5*ZU4T@KBQ%E0IF%*D^V.;GWJ4>JPHT%UTNCH\M[ST52 M3.V\,Q[5A/_Y7I2*L]J2):U]1J#U6/#6)L!@F&>IUHNHUIOX8X".S*!L)OL> MJA'O8+KD?!=0/9F,*P'M.5-D>\6M+.AJ(?4>]HK5X!@9)-[86LVHZ0CB]0TP M*4%V21K:W;.4K=NA[9 *7=-&=L2$=83=1\K0]47*\O@2P<<2ZOXG:K0M.3J^ MZBV*CB5IS$;EUD5Y]T#LWDQHH)R[F4);2;:A:9=Q'J>7L.*NQ.)U<[?]8-$1M$J3@ MZ#]HB^H>XN/2U,D3ZF5<=PUZ'I?5UYT?VH/0UY-KZV.TR#T_)Y)(V"HK. ME@X=@;2O,0LF>JTYG3S2=VL.\HP&#*ZEDW4'#*XCT%ZFW _##'-MC?KUCTD8 M31>#SA=UO"H78U*]9O-D3&IE(-J2YG9*4-SY(#N5/J_5.>U!.,=QQK>6>\,^ M0D] 6T9P.H#K*;S]*+#]A+F;J;$;/;;000^ASL=!BE(L^2,94JJM(@6]&+YF MD-ML1'$EY2QVM'OL,?B]'WZL(_KFV9=A.L/)J_&0?C!>M,Q>'H-7Z8F71Y_W M,G/ZD'53?%YS@)(_"N,ID347LF(O9^9F[CX,WU-2X?S$?S$R85V$R^3H8 MG3%K8=C-+)G-Q;*3.3/&.>2*)2)8('\HQ@Q!"P_! MALR%PFQ-Z^+X7N?,;-YRVZ#D@B4&FJQ!=C-R)!S"$[!D.*A!^JWXH9FRMTA4WT13>R:75ZHXF1V@XQ$4#^3X:J_!&D$'K?/:B.8C M0O=-JB;%#[OBU#H*VFD)IS%!.:\0##,5F*T-)LAQ1LX=,E=,X=TZKQQ&"6?O MNNER#%[-)ENDY/[*4S' M1XM>M/%@TY:6T=VKN,IO&*87D[F_NTVD]M'/VS[JVAUNHPCJ==R)CN!YNL&; M08B#X=P+O021WX[>5X+5@6ST"[^/1Y/E7W\,T\&-4(A-R60=%0@5:+/ &"$$ MU!"E"SZ@55&W+BYHNH!M=ZNKL:W7XUJG5]]; +R:4HTX^W4ROOA$(*8G<3H? M3';*BW!>O=;%O,N]_M]L?9N_OA3O7=0YCW M51T^/,KU/S54_3D,YRM8RO>GP;2&#TF@>=H@Y4J M(/K&Q.P,;@\,W*G>[U8>]:*T'@(PMR=*G7RF0VQ^U3&>?"#,)\/A^,\J(OK[ M*WIA!_/Y=O^D7\9Q*:<"-;*:A,9L'=LPG\L>T4,..@3'C16Y=8N<;?"^Y%UP M9WKN@:-WT=Y>"[VXT^GUH+T*_%19>GFRME#2/%$FT4NEC %5LN-!*^USZU#A MVB!?,AO[U6@/+NY"8O\;A_D2,3EP-4'G;:&M_--X&H;S\^.T)%U$$ ;0UQ;D MO ZRT4%"M!>PW:F+06VN)3T7A0>A /-?:9WA,R+ M2'^"""GS: Q+=QO''(2/M].$@<.AYW[T?B@)"5>K__'KU9?_>X"3FICX]4TM M@EAT\.(A24P>PCS&*7. &(N%6 K3VEB7^6/E\EM1^E%D^TI)V!-K'N)N.^WU M8$&N#-G=Q[N,OG8 VU,6PUI ]Y/'T(?&'R)5;^K:.\<,QJS09O#::%"V3JZS MEH-DZ,CJL \F80$2M4#UTF)4(H7 M4D5O7>DT"6/KZZ1O7E8C+?7 G_^)QRS M0^3>.GKK@7._C4=XF;SWR\4H+U%9S-*$P,"X2.+(&, SR4#7!/R"&(UH?0&T M&LD^ZM9WI2P*T'64MV]]O?;RGTGS7UN9N$NZRBJD1CNV8I; MU(2L_Y#M"T6V7%BCZI'59O>;&YDKEDMM-6C+"SEPK$ D*@#W];LE*)EYZ_?P M<4@]Q31GMUHAG6JIO,TE 2._HVZ^&H+!5*>4,Z4E=\RWOD#K!&P/4^$;,J1C MY'(+7>RUQ,)*QY(@=]+,QY/QVHA=%P-<^.+)1PU)MLY".N 2B]T39UN=]&$I MIX^8+X;XMJR&O/!&0\C(I>,06,U:YAYKF,S/NQ#QP# [T]Q&[@)L5]F6?5*E MO08.)3?RD;@K%FM,L1:RJPFG.7J(QB60C+[61:JLQ&Z.KSU&BWK0?/>;MW4T M<&B7'EVP?[MY:\R!EKP.48O?G ",=B$0;:. M?1\>^3:_>=L;]];1VRYOWDQ@-@F(7-$N7RMXG/(*9& !N9/%J=8U?T=Q\[:6 M-KO>O'5714_NW/):4=.[42MRA)<6%+,*0I0.K/(QY&0EF98]6$DOC@@;BOS! MW:'O^.*[R9C,S-G7,,I5$/,I*R.<-0XP/O&4?B*,ZRRM48AQ^07SJ2E> M>9,9:*4YT"L1R>50''CRL:B0 [U9NUKS'-'N-Z3&S+B[[3140 _GT$E*%^<7 M\V$./^&G":;!?.H"?3W$N=A'^>1\/)D-_F?^_0<7YO2BU!ROZ06"_X^PT^F0B9QS0,$:F@*RM;U2]HHY& M(]+)+EO7CS^&Y^A(U$SX/61TOS[_% :3"N9M>8-ABA_'PWQJ>;9!J0(F<[+J M.!$U*J;I#R^-B47$YO6**X$<'16V%W5W&>.:L*<:TZ_^A@F9TB6F'1>UWP3=$'79$Q? MKW<$%%,3Q*T1H7G3R=5(CI,7VPG\/@WT]FWEKDVCTZ2T3L$Y,,YX4#XIB#QX MR-DQEAVGI;8V7V\^_^A4OK%P[RO:M+O]?G#1BTLX(6TQACE@5D50%CFX@ E$ M"%)*;@JMH[<+\,>Q[>H.O&=:]***0[D)?W!)/W[]@SYB,1XS.\N5K'Y4HG4Q M5KMH.@;T(F@174JJ>9OQ#K#V?S?>D@Y='9D-U;)+1[<"7(['[0"QI^OP#O#V M<^O=7+5=J;.E7O9$(>366)4*I%SOO&P0X+*Q8!635N8@8]I9R*1OZCQQ9WT( MS%E'':V'FKQ9#-@=3[Y>(5O>C9$=+H7D((V@X[T.=W"<_HB9K'0?BDCVSH3K M!R:XCM7X5JR/6:C#_CS0$;W#AA@E:00UVM,/4BE9 R MKKST#(O$UO[.(W".AQ&M9=]+J=/YIXL93NZRU6ODQ; (W)@ "LDG=YKVO!A, M]HP;+FSKT^$!*,='AQ8R;QA'G^];;TL9)+Q"1*O^Y6)"@KZ8X"6Z)$4,=?\* M$FG%AEQV5S(""R;Q@LD+WFV4_9./.AZ-]R#:'H+GK\;S@1.IROAUO0 \F^!T MN3\5%$$6JT!X0\=6S!'\W-57FD6R?0S:'JH>'\1S/-QH+OV&P?'I9';Z'L/P MY^DLS+#>$#]TB3Q-D\&G^N6UU[X8X1D,X6,>N*WF,@9#E$Z63)Y8O$%4/'5* MGR$D-RA#?[NFR]8@CS+0L5O5-3R&N@*OM<;7B)?3@3M@7B<>TH!VJW#N-C"R M8RJL2FQH%6^%O>ADT&,$ZXP#%:RN^3$6>(G%%5U'JW>Z,'A6W'L@LO(, MJ;>.^EH'8#Z$T:LP&8Z7QWX=BVH]P2BI3O)"57M%UY1DF:3G.AA?.@X'OOW! MN[.>=J>*<2,Y[J1UQ(?9./TKABGFZ@322S070CWV9U]?CQ*=_(//6*V!;5I' MK/^0[1.[MUQ8H[SN#Q_#!'^\B^)D,@FC,UP$=*]_Y5WX.O?'_@R3?'VAF5$P MU[YN!3PK"CAS2<6H@FG>IGQ[U%M?BF^*X/>+^IZ]+?.?3D\N9A_' MDSH"ZY2EPFQ&!I+5@E'TPJ:SDMMNVDAY@U@G6E3M9.AM;1.FWLQO/W?V>S4P;<323;5!-] MY!A>8KF,V75!TU=&ZBTD>TH^W5@S#ZAX"['N0-G2J91D(&.S)$(5R.)TM+7J MP,@2+9[ J"N]PQ>??.!S]KO6TLH1[>/.Y/SN?7'C<@N2*3<,6 M9;5)FJRMT[$V40\F^1 )G8G=E7;O\Y^Y[K:3UX/!CQU<\9U_&HZ_(LY_^NYB MDC[2;]1EM+_G>^I)O5WVK;7$P[GQ"T5%6ZI/&#+1TEM9R:,!0_9*TL:@9&MC M9G\W?HMK\HZ/CW@5;M-A15=[T&20:L?EZ\ Z M+2S-6QIY;2+3 E*,#)2Q IS,'FSBF4P#K9-K7N/=VVI>#,\/C!C-D\&>6E9\ M8%F_A2^#\XOSJW/X(EXEUYV[\%_&4#!"-L%ME'$F&D/R*SX,D*@IR8\)P'&WGKB[]; )[_S=]:'+C;-6UC M7?0Q06IC05PO8Y3O! :[K*FOB;\]K&<_UY!;T&3=@WM7.GXN_.625B*C!TQ( MQHG-$B)]62\$R3#ARBB]\U2U@^'M$S>K!T[;=53; UUO!=:7;4.LD"HS19 , M U4X636*(*G@R\[FWWT[CQFT+S=;]>%] MW3P]N9##N6S22ON:G0K"U5[IOM1V/]Q#\-YC3L;&PZF+VOJR:0>!VMH4QY:0 M@-&) #T=EK M\LXG.)U-_R &3FL?L-EX-AF'DX^#L(_WL"_V#P10_U=6<=9;&>NZ?VI.WA_%BN+ACC?5R6[2)U!Y^A4[B^#/^1OH^OSB_ M$L#RO2(#W#'M&0@IR3@/R8-'8\!HI5)V!K,VG=BY8^ OB\^'S(J^+ILV.4=^ M_O)I,%G,/5KD.EAK YJB0-)I 2II7=N\>B G-!J?56'8>L1K,_ OAN+[57L? METJ;RG'^QS_HI+K*UN&G6D0TB6Z=!P5-!VAM7=(^?OG\:C/W!R/AC-O_FV?,#)Y[DS88*R,4EP MB5P(E82!B)H#?0N9Q>BU6"-'JT^H+X;.!ZCY7B=BZQY1OT+S&S9:F?>B[(/,[/%JZ(-TQ8T5X6<5TS@Z&T#+[*P M+BO+?>N;VR/+;%F+ X]FMJRCB^>2&=!E3=\R6];*;%F+)KM($=A$Q\^%OR6C M8CPS<)P)4"H;\#QIX$$[*STS3.47R]NU,EL.CK;KJ+;OS);%!?YE"H6B1UOO M/'#')=G"28&77D-V/N1YD,.W;K#X()@#]'-ZU_5C62X;*ZKU/>M58^&;"2"7 MN)C@5K P3_96A M5?M<;K;+>HC#]D],1KI8=R#$%M?;/Y>[YW" M[*+.4EL!C6Q*;XHND+2GK50R"S%CG9BD';*DG5+="HX??\Y1J+BA*'NXO+L, M\\T/R.(B-SZ+.OZ,]B@T":)U HH2PD0F4 O?>-N_\?B7[8AMJH?^*+$\N#J MZ'"5*@4 : 9ZSCD5:+,U' MTNY P4]X"/WH=QU1[LX/G6]4M)?1?O=VA-?9TL8(P\BTJ+DCWIDZ0MY#EJ6( MDD0(84>]U%?!V[T!L(4BN[F,6VMA=YWZ;T#]X\_Q$FIP9)5D"RPF.ND4=^!S M]B!]5-(I7S#MJ-)F%;SC)LQF6GAPA^F_R.$]"66$'5/R .0B>$!)B@%I: U&:#-HK;E01G+YS*)E);_8^6V=5>@\/W)6 M&:*G-UPIG2'DK""2=6\-#RR'UF5?WW*[UF!MK[E=ZRC_D/IP/9K,8YRRVJI: M=J<+T)KHN(I5V#9$YXUBK-O4Q&^Y7?N@]E[IT(??TBX2D[0,(2H@_\W20CQ9 MUCYDD&B-S*Q(W?[2["7FP&S#X+TH^S!S8+*T7!A=R^42PY!ES5]RX%9*P=F+9KL(IE@$QT_%_Z&R'2T MIK8CL0Z4R )\80XPR*@3CURH;]U=GB=MUU%M#W1=%<=Y_^'ORPD%(A2MG +Z M@V3DR+2A0X6!$<%+@]$IWGH<\:. #M#-Z5WGX[X4UH.3?NLV*2;#=.V>Y%FM M)^#D2X7"0/':&C9E$YMSY[@NT[>PZ#;50_^7Z1W O)#+]'74\OAE^@8R[?TR M/:3,41L#W&E6][G:U$H4(K/SNO@DE6W=K_/ +M.;Z7<=4>[Y,KV$P'@]=)S+ MM.B2$6(4"%I+AMPPI=..BK\/\3)]+45N<9F^CA;V?)DNZ5SS"CD9*(+,(5N3 M_P1W8$M2=;X'"F-?[F5ZOX393 M[O$Q_]^'OTT#&](]OV]^AK_CLOJ[.GUK& MX=R81V);M//I(VCHY$H.@BP.M-6*%5.4RJW#LON[,=]N(L9B8,"XO!Y-9V$X MG-OWIU;I$+.ADW]^G91$S6H. 4PNQ2M7BN3V*;JVAW6 3G1;*K:9<;*U1I_- M)7@4M"2;(QA9,LD6)=0.A8!)*UEL,0Q[B2Y^NP3?D-B'0X?^^@G>:@N'DS*> MG)/5@K^.PW!ZDCX.\#/FJT9P;^AOP_F_G?X\')P-XA#_&-?U_48^[^#3<$!& MCL@NBH(*"@I>AVI9<)D$C:6H)(/QV;MDO@67+&27I!#<>WYWXN[.WI)O9\7.7I2^&-.PK6$_*_]P M\:EF]$ZZ+%R:P@V3"G3T-2E2)M(<+U"$CDAND)>R[W;+VZ_BVYMRD'SII3?B M)H[^C87/_SZ]O3,5(3)"WK8&J=P2DAP0B3DW<1;13]1GCO[B),_/H;19<.&7^DC9M/7 M5UVKE6'19 E*6@U*>$T6I"Q0)UPHKY0D*1Q*='C-M;V8-^2@27/_Y;#[.2%^ MGLX&YV&&=\_(RR.R_MY[^O&ITSS[0F\^TZ6^^;& CYF#3"QA\4SHT/. \XY( M7PR_#T_O]TGMFO4Q6W3R72WJW\>CSV2L8;X\R\:S,+SY\U?CZ>SW\>R_ MT_AL5*==W^S6?M/A'=\^[4YN,]HR,OF1((72@D0@46B"KSP?I@Y>./9OWY(G% M?GMW#I)6*V[EMK]Z;I;8S"-M"5I'$+5KA_*.@=?>0+(L))=,SK[U"_(2:U.W M<@?VHNS#K$T5(A8G#8)D2=3.=A8\!@>QR%",$R+Y;[6I[3CP:&WJ.KIX+K5] M7=;TK39UK=K4M6BRBR*_373\7/B+B59GYN4-M"+%+2W+:0_T4@=4/@0N=MX4 MZ&!XNU9MZL'1=AW5]D#7&U&7RR#[(EU=:^$M?SN+V26G=FOX%I+H9+'ZIFW%^BLZ(D% I!>)=!!<8('5DH M:++*$9GUX4Y_G(>G7#_^J!=,D1YTT3K?]"Y[Y^74M4!CV8+>%!V+*,"1YWI= M(5W&'SM/0'WO0-Y:TTT,/1

S7 4U/P<%#".MMKID'5+R%6/L( M<-Q&91T6*YD&0D ;4FT>$BR]2,[FX***H7#W#)7\1 RL+QVO(\W6;N4)"5J0 M^T(GV?RK']\NAVBA*W5 ,GAK)*B<0JTDCN"9BM%J=E_%#YSY#SUA]P?^-F(? MMY99ZTC2$M1RZ@17-HF@( =#BRLQDAW"$3 $.G:82<[PM=2W:Z4UE/0JW6T@ MIGY>O:LE%5V8L@3 T-929QHA>7R"\&@MDK0IFM(M@'.RI]>L5XUM)*;6!;,5 M"K]:'+\&I;%$CIAH-8P69X6$P#F'Y%U)6++>661^O'K^Q M"SBE@D@"$JO-T6M#H2A2/=5#E-H77TRW;.C;G[N'5V][2:_2W09BZD=CUTM* M.7@6,SC!%>W;A>BH(_W!94G&Y*A5]\UR'Z]9KQK;2$S]==1;<*YB4Q[ M;[*J(O)@A"$\VM*!40IX*3.II5A+^Y (S<=F'%:3U7;Z74>4>VZR&LEB\#GG M6E5-QP]G!KQ "5B1RF1%8+OOF7DP35;74N0635;7T<*>FZP:GP,7T8 (UM29 MG.0?.DMFD!+9<*FYQ.;#H+K#.V[";*:%ACO,=#([_3 +L[DU]"'A*$P&X_GF M&C"ZAU[,BGB/(0D-W:D8V4-.Y+PJWWA@?!62T(0%3 M50C$Y2Z^L(MB=M_S*>8 K3V3)%AODLG?>0 MBM*UP14'5Y,BO*?#440II.@TK:&CJF\_?7<&0$.UK%#T%C)]T$#LOZGZZN_^ M_*5^B5"T,=7:^@*,3%CF9%)2MDX4:+R$?MR?TZ*XYIQ>,HPJ@C*($$(V M-;.<65:D*J6U8%8CV;U3LT^.=7.+UM).'R[SE>W?1E8+/T $YPT:VMQ]G;AF M$GT5E (3E%7,D7/@?&O*];&0756V'Q1/]\Z(0REY?SVBLQ.O#. WE^N<&\"! M%Z$]]Q"]1% Q>@@E:9IY"SL:U+O!\!,[^(P=[X\JX'YWU$,Y^ -IRK%$' M<#W=3ST*;#_W56^A@YT0I&&P,DH&+*H-"\J/H/:EI_\59K[04NO7] MUAX(\L1]UW[XL8[H>^!%W2+?E@]A>%5/C,B$2$R#MW4JB2=W.A8Z]I6547(C M:;MLS85[('9OU3=4TKBEA'LPS]_C%.D#/YZ,\D^UO^[X4UWQI7>^'%3GK!(A M23HDG:(%2P].UGIAG[/3-3O\[D"M%O.HGX)U3+1HK84^[LIQ2#\Z^Q5'. E# M GJ2STGBT]F$A/ 9+[%.K^YI(W(3!*"0=2(V9^ 9>9XJ^,!<=%(T'T2[%L!C M(D]_FNDAC>YV[Y6,PB?I:9W)$001$WC#(Y3,2QV F2RJQC0YL"Y?A^+6;*Z7 M'DC22S5KES5]Z_BU5L>OM6BRB]9)F^CXN73\\J)XCS5QFM),0"$\""3"ZEH M;9)N'68_]CXK:^FZ[0040I(0>D(A=JU<=LG^3T)+A&V4NOAF$Z?5OFSWES=>^> M6,ZN! >!"4VZ*O,B9@!:I$]0BDZ@"(;?7'_8H2@'S@FHF_N_ZR-[S?8\ MN>?B]*N;W97E=-AQ[ZSD:F+:/W%P]K'.$OF,DW"&RY^_FPP2GGI& BW< )8: M.+6.5EO%+)3@">O(S;LC*/?HB6^RPJ-@\>%RHH^>5I-Q0LS37TBRJU]15J0N M,45 7@RH0F]GL%&242B%-][%*%J[\D^".@:>M95\:TN\WC1?+O<#)MK-9P.< MOL>SP72&$Z+RV=D$S\(,3\['%Z/9J<^LL!(S2)2V]EA B((\AQ"D=#PR]$5U M,LO7>^YSYD'?8F[=%?<&U,OAH!R-IN<*X-'6"@R3R4D,A,8FR4.1,<>.X\;O M?O0QZ74#8;5N:WL#S3_"\&)93CG]93RIYEIU\4Y)(X2O*+!$)% I6?!2!7!& M"XR">^S8*ZW#PXY)O4T$VK!?[5U\OX4O@_.+\\N[_DLR)N2V:/2$J#9B$.2T M>\YK-ZL@@K(YAK3V=KWJ0<>DZ*T%>5_)&P\/OXN-+-7SP70ZC\^0]4 &*=F9 M;\NOD_%T.L\9N[0UC12!=ALPNGI;9&R2+>%XK7$CFP)-%FKM#;O;HX^)"#T( M^SXUMAR=O1+MR2B_Q\%YO)A,%X[,8_"%-0$ER0=IMP+%50''%$(*UJ54O#5V M[2UB0RQ'2I[>U'&?35O/K'XTM/,[_CG_T?2T.$S*.PLVNUI$:RTXEQP8'E&A M-3[X.T9$OZ&V*V3/F4(]ZN ^4S:>Y'R?Z*/I@#YR'CUYCPD'GS&_'=4^*].0 MZC?G%#^5WCGI32VT9@64&F[2.N MZT ^5_.IN\VIWUK\XX:RZU.7F7DLWFLPNEYWU)L.GU(F8]5H%FMTQ3YV7WX( M.GP@O[PW%:XCLN99G0/:DSZ$41[BY-6RCV:NPQ&TEN!#)AN!:SJ%9.VC68I5 MAJ-UL>-(UA6?OCL+:SM!CUM*J6$>3.V']K[F-9785K; M/;T>?:9OS07R^WB4+B83^O(TBXS1ULM_8B[0GN<)KRJ@BW,Y!MKE9 \=MSH@ M.U[B]*"9'D;.K:+W_(_?Q[/_QEF5$@D%<^5Z%=IH-@EIQD^-\$P8KD&Y:M4+ M*\'9)$!Z*PVAYJSY]*H-H1XOPW:ANX8IY^O"OK'+\E,IC C<)K")X"HM)82: M)I^U-BYD432V;@F_"H@Q,&0T)&YYKA7.M-Q MJXB1W B((A3@T0M:8+$^=)J&M 8%'H!RO%1H(?O6F>^W,?V3F$J2*#]=X!_C M^7=^&^=!&2QZ(IY&Z;F/*4',4=1YI 'HXS3M8DKP$+/-'4>>K_/4X^-#OX+O M(9O]A(ZXV>OS3V$PJ>)X]3%,SG!Z2A:15#D(L!%9C6 S"*D8D"'RR)(QS.K6 M$;J52(Z/(@TEWS!G_:K%[A6@MV5.UH_C83[U$IDD1XWLF=H:+<8 Q-H",=$V MEA17OGGT9260XV7#]G+O(T7]]DYVC?%-S9\OQCA!W 03B:[*QTRX9 %A"QUV MS"5O8Z]VQ6T\Q\N-9EKH(PM]OHV]Q]E@,D].?1N'@[/%R8:6"95Y(++&^X?QY/) M^$^2Q*OPB7Y"AG*RZ#$F#MJ3>4SHZCP0) =*YI P))%9:S]U'7S'RY_>M+2" M4MMUW5B%]"2EV@UDNJC0J6EK5Z!K3Z+K,M)3)T,.K,X(B8J#,HHL;L,#N"2E MB*7*JUL1[U8PCH]'.U;-"E9M'YVE<_1:(A7XY"(,7X7)Y"M]:][5XM7RZB*C MESPF$"K%6LDNP-5@'YI@2_$)LVP]RZ<[NN,C5\\:6D&F+9N-=!')(KO6FD*T MK[D7[73+Z4G4^Z[-FJ<27N7LU$$T M*5V<7PSI+_DG_#3!-%C,O,%IF@P^+>:9+%-[YGFCA>2)$B4@+0Q49@*"X *P MQ*1=H)_FQRJY.B?);@-RU^GNO3)FO _-M%U!-Q[K(;@ M>5%O'?6UKM,[$8P)P=[A:!RG:3R[3+WG+AGMK04NF*WUAQHB"Q90E"C)DHS. MAD[&V>K/WW%EPDX4,VXKU=:)QR>*S?'<@".%C<(5#UDE0T37BY>(*,M^5A 807$A00G MC%?!\Q1TMX#/JD\_>@5O*]'V39A'Y.Z3 [:DFPFTI!"!!_I#&710&XG2KI(B M)O0\^&X[])T//G;%;B/''G)Q[V4,U__\_.^+P>2< MJVR4H8[Q#>2R%2,R'2;&M+Y>VASM,3J\.];A+BH).B%?#@'N@+VG6:C;X-[/ MS--=<:0)-;=0< ^545NM02DG19U&E;42H(JVX- SL+3I2U11!-UZS,KAD?.) MP:;/D9OKZ+4'3OZ$YV&4+_.>EYA[9@03Y@EN^7#.N+NGP>7 M1UGQS+&0'&U]CI;J5;6LK &C1<@,0\B1]V%O2XC91Z.*_?X^?Q\'.M"KA=,[ %US)+&0%4G &*N=$YHGD MX%#YC,BCDJW'E#P*Z!GKOKW ^^C;=2LSFXR3'[_^'F87$UQT7UDF;->=2P8R M4I+!17* XDK7V8!$8R>5]H"[2> MC,%'8.W')NQ+HX^776RMCM[WG]L017+9.T>N"O!YE/!]=]=OX]2),PFB&RYPF=)Q)JQAH5RRH.J38 M:2L@)9G(H#:^Q-9%[(\CVKW!TDQY=UL:M)/\OMM;OYU]K!,JKG[>3Y?KAY[2 M:[/K3DO;LN?U52.#.\]ZF [:>]>ZM/T.A-WO*6TT?:\1QA:2 M[<$3OKO(7R[JSOD;"??\XGPY+? ]5H'1 ]^67P;3%(;_C6%RRD+(Y*DK@JIJ M4THL=,ZZ"/^WO2MK;N-(TN_[7VJG[N-E(TA95CC"MA22'//(J"-+X@Z)U@"D M;,ZOWZPFP M7-[JZ0<'K<"ADD$9]G5]V5696'D9QQGG05J7:;O+A:$]4?<;B MJW:0[ 7LS\TY?/"7J>!Z/RN)PY_QY^#S31F>I*3B"CU$I2@OHY@$"4DQPF+D M4;*@A13[3JB^B_[HZC&JD$?(6GWY]/0;WN2^\L##8RI4"X/N",R*E-&RB2BDF1*^]*H MM'8ZZ"8+QK%OWRCJ\#JI'B9YL1'2=T-IRQ/2HP0-S3 M*4.&K (D@]Y\SN46L>B\0NUG41J6DPYL;/OSB%&QJ72@CY1K6XV/O;Q03C K MD\K/OLRA/626$1A%HXY)4<(-FK+2&$M\1D?*&.X3CQYTR)V,Q?UK'=]&/(22 M9CQY3A+1^@AM->$'/[^Y^SSWLX6/Y1N'A*_V?>7P6%4OT)4"4UO6?+0IT4;( MU!CT_]HL?:\D"5YQW!S07-"4>N5KQW#V81H>&%_-9GG_YPS2N;\J.OWIJY_# MXL)R3J4WB22NH(SXR<1;H\NT,&FD3#:&VDDWN_ ;+[/(_D"XR#8J; MK(D*@2)H9XIGWI8^N919RL[7UIR#@)Z8-HU/U@A1KL?!.7T+I"X?(WA;3_$L7X@NB,8JOEQ#EF%5T?68]1? MKB-SRF6G5"+*.%T&)R=B69!$",T3H_4"S/'( M.ON Y,%\#JF%MFI.9#D7WEBB8BK%IHX13]O2HRBR8<%I43M?9 ><(]3R#61K M;6!P'5&/82FTT,XW0@/F@J YD\R=0B/&:N(5XT3B\ZK(!(\O1R=5TH*-<$Y$ M"X:+NK+3^*9,:X+YMV+I//@]BB9&G4(3AR?T>YB@)"1'"229C(NEHU@G,W&/ MJ[AI[=.W"JM(O6*WKON.Q-]NY_&K7SQF-[R$N'P%NH"L.OFC([#IHU##.6RF M(J#ZR(ZN8%FIR#"*DJ0-0YN)H?T38O:G(S0\6L+M%7#E [@ M1NNNO@/8L=JG5Z*QFWH,X&"4!NB[0$;.5+0(#1TRW/0<^LW6*X%N-(TR.2YT MKM]P:'(%V=O"_!CZT4?TU6T+O[@I^=U7^(-FWC88^ @+P 6^ODS+QL=$UYPR M$B)ZZ#)D@W]3FMAH*5,L"43?S=+HO.:K22 [A*EF?#%7M#Z*X?5AWJ3;>/-^ M_@GFWR_CO6W-30P.[2RB&!0\$$EP41#OI0+NK?;0J=W4'H]CT]JG;U]4D7K% M!E)/\)0&6DM$JZ*/+J JABJV ID^-#&$?/Q[K.T(-$Y'>1ZXCF(5+8,O3)UH #PY/.' <-S$F\.!A MI2FF3-E'%AVO[6 ^ S!MI*$2*2^K#@Z6Z"35;)_N4O%59=WA=7/W'KU0\]W*M)S!^?<@S MSU:+=I:P2\X2M#D#":JHJ=:>6^Y3D-7'OW3 5:$9;I'\S_AVEJY:*FN8;YV[_BU6W"M4NX#O]-G_U?%R(Y%XW!K==0% 4$2SP'(%I)SZ/1 MQE;O!W4 S"/,/*BM1QL:Z8Y*UAC#$9K%S?O\KFG2T[W^4W.5+E+;-!C/.NK]T7?BN8$M:62Z,>9"'CO@9?97]_AJOG6YB__]0UM M0[A(V5!'T;*3- )J+//$@D(S@$-2D'SR;(2YJ-L!G:!JU"-@C,(YN,(??7D' M,YC[JS)7.%VCR!?=)&\OI)/5V0 MG:"^C$#)"$/:VC&&:/_?SDNO^:]^_@46%P[7]=H 45Y0(I56):KGB+7*6\Z# M0D6OOYNLX3A!I1@L[HIW;-<@O"Y^0Z298D<4RC MUQ^E1M-&1\*3E9$;P+.M]K'P$L,):4 5,:_3K@=W!5N5_?\RB^CZE [@%P R M^N@98:A[1 JGT+R-AEA?1AP+YXWN5!78@_D-,$Z0_*'"7N??#)_?_&T.\;)] M2/S[%;0B1KODNLC@/^WG%XKAWF1*YQD5\9D]8K3!9I)ER4+V5OI4?Y[S?EPG MJ"'5Z5A7&3N\7=1*>5?QD\O9+0ICJ=WE;A%0+'#_>Y_]7[!X^Q<:N+C^YL2X/GS\NKJT41K-^AL++Y7^'K%@.:WA#*=(@I+E%5, M:_R;@-JC9SM-<%SOM?M\%P:D'5$UN:>D8 M*4-Y9H\ 131.Q,1R]4#)1B0GJ D51+Y!$X:71#[DT>R0P/G=\H?W6322VF2M MB<1P*/5[I2@T)5TR^[7(FG)OJI=*]H0^.1I56Y2#*E53P)60@.+%:!>W1=XC*5LAGV;SZ\5/;1N*[J2KWZK69 M+Q&M$J\Z8*J8V;8-QS%J[H9SM)/R 0*>BOR4,W-<4I(2CW@XTH3ZG3,!DZ/# MG55DVFEHUJLB?6<)W32<]Y'K&"W[5_&BY6:V6"58"TUS@$1HR<62,>+!&:Q MLJQ-R5N55&U#= N4:9/=ZO"T+2@W0,BCY'O,OY4\>_C](8=K"4P$[DS,J32# M1ILX A"OBZ_LDHHQR&Q%;8=T*Y@3X+^.H,?)87Z>N*N#H(ES0W(L]3M:EL'O MWA&?E;,,& V^4W#LAZQC&-_8&RSSBBDK(HA M4I Z\$!$FXZ= /7;!4&T=B;3"#[2]..QWK>*H3[I?>0Z>A5#]EQZ$?#)."V# MN!,GOE3P,\>4!N$#K]Z^_%56,?0B96<50Q^)5K3GVM2/59J@?Y8FN,Q"7N+S MR="4\4DUZC&1%*%YRC(QSN(YED#AYYVR:CHL]B.S.XI Q^BFM^H:>'Z[N)S! M8K'R+]KM"]=/W&A%1%*)2%N\BQ+=]A$M3&=+HGGMB\Z=@$[=P*O/R@AYETLL MRY>C"YB1&E\\ W+DCJO#B5K+P1TJY5%Z;SX%95U4-C-.P*$K*[D4Q()$9(9I M[07W3M=N93$!Y5W;K([,>!_AUFY6\0'F[:XVB_!V]I^[:WB(-J6H>.*Y5&N* M4I1+B??&$4MY,* D..C6FF+;"D>[,SY$ZDUMD=4VZ'YOT.@XOVQ* J__!KY%'J![=XAHC;*K$"3G)/%_9@)XI.(1.>8 MN$P!?*X]PF,SDJF2BJ:BOK]XCYTMM/51SN\^X_]ZWP>.B2PS8T2),HI&E'F. MMA2VXX=:.QD\K5\OOA7.L2(/-IS\'"GV,@1YK3XO_X\J\(3Q]", M/F(?0R.6_5#6(*YF5"3CT='.^-@1'QO0#PQ)(CRJDU69\F2K'R2[(;T"*_10 M^EZJ14793V&)GM^=PRQ^O?;S^]%(QE@5N$ O7GNTE+G3Q'KK"#/6L\QB9JIV M;Z-]F$[;TCA<_&-,D5O#MT*W?#6ZX)O*YGB![=48'@,8W:LN%>B8P@1YB3/G M+$* C"=K4'C0@B4NB$ 4HXK[F+S*X^\J4ZA+?V-D0FWIP\(8=V7^"A;+$.0R MMZ#X_\N#,1F0BJ=,+( JX[)0!C18$G.2PBO%>?UYIKL O0*39!!_+^_2J@E_ M!*OD+,8R9@7Q1;C\7D[9U4 4QZ4W>-:R*"F^#DD3K[,G5 -/L?19J#X;8!N6 M$].'*B*OG#OYF__?9KXRH.^OCY5QX)4'HHPJW76T)=X8Q.6LCMEK!B_O5P]* MFEQ?^02,S@HBK3R;K@Q0>I^?85J-0NL JF)J]%8@TZ=&#V6H&4N\E5_N[>!$ M*H4YWA$7C2ZESM^FDKXOS'8G1DU#>1ZJUTV564,Z69PJN MJS3C@FA6!E1PSTH2$%H;R@M0$!67+[(FM^16O/CB:?-A*\FZJ22HVKDQ*RSG M2RQ6.P'>9J(HX$/ATL2BB-&ZR-%J&:WDW1)B7GSQR9!VB*#&>M/>++&X3(/6 M)9CMM232>AD,X_@4O)V6Y;,D MP:92$I&TT=0E\?(290]I;T^,M$,$5;LC[@K+SZOK(GB7\#5"7F)/.6 M.1<3ZT7:NQ,C[1!!;>U)>[13N6W_BS-Q>XIAR$) R M(D+IJ)%SR=133!"7@1&==) \LZ!I[1+7USH(2',>3!*>,'QL/-I0*)Z5MTY: M )-%22RM+(K3&0341X]J# +J0]8(=QR'5$QRFJFDI4*C])>6(FKB5>"$6BFY MI*[,F:_]JOW@+0F':-78%!T[R;B8(0_5>D]/H?O.#%I*:O#]H,J6^9)E> F8 M1%B*H U8-!YJ]*?8"N!'*F7NQ7I36_J5(_,;S))5/Y4.H"K>RFP%,OVM3"6B MFK&D/)D**-Q.D[641.G1.0F4EM)=4Q3?(VS&A>B4N?.ZJ-]Q.3,E\WV$6YGQ M,S23$,FJC#.*B,YG1,\SYW+K7WHS6(H6$E5)YRB!^AHT/U]U6@>\$@U-%1F. M8&"^_>WMPS62SVC2EI$T,M$2X4[$)HYPF)*.!>]#B)7MQL?5?V16!\JR]NW. MV8>SA_N*HEFEY8[3&KT7*TOS%.:)B G]EB28\=V"8(_?^2,3-40\6Z]SCA;Z M^K69??GU\CND=M;8T2)@'6%,' @[1#A3QL,@)1Y$:,>^12)=F2IKO"0B&?". MR>A#IV[NKRP>]ES*BQUX6->'[BLQ%AR_"K;#5! M=))P[W40EB;G:JO(2PS3*\,87#45!3U&?O]#(&5U=U'BLV]Q*Y[/_-5COMLL MO9#&?4S%*Q\=@TPHBR7QK;PC[1!FH&@]&PF\>@N088A?5=QSR+XR(7''#H&N MOYX_E2G.E^&V9:XM"DXR!O"1:"@=R[Q2Q,D4T2;E. ASRR4 MN6B26.HR4NHSNJEG"Q LF40C M&F-E+(E00 *:>(1;RVUV2;"=A4P+B/_]I?G^C^4WWA.__(]'SA_7.Z;!.U3^ MS2#A;?5HCA;=64W+G"J,\W*]B>,U.Q]WRL",-98G*/,G39D#8WQ"WTHH-$) MVM*>TH:1NO&.&YA9RO=C*N6.I. MHH? :;".UVZJL%K[",?+4"*V$-M+BF.8BYM'*RW3J\=B>H"$1^BT\Z!_1NHH2F5WD!)-(S1TB4W:$&]YMJB- M,E4?"[?Y+9XFI=%1SW7.DG N&)&Y]"Q(/I L- I>)4OK9P__X"F-0\ZOL2DZ M=CQOQU319'+.5GD"T: S&1(E'J0BW,A@=9 Y=NLY=/)3EGOQO7_*X" IR)?6A.$%Q1W3<:)I,7"XX81JQTU@6?&9(W$ MYM<^9;DZYWWD.H+EO&T L&!XY\5DHIIAQW-2V,%[WE.5> M/'6*!,K$\G*_H6NE. & M77]5?7=XY4/:*C+>0[B3#6GC3CI\#K1WA#7H-MLR&E[A@[)HE92VS,3JE#O] M6H>T]9)ZIR%M?40VY9 V#6AW.$^8+$$[2$"^-/.[ 9>I]18??K,ZDB J7;/>+XZ+/2[_ /CGYX!_?3+)R>8,WI H M2THK2XPXB[9D$B(DL-EEP2N?KX?@K-^S^-T<5WASGY%[H80+AC(@@ =KR<=T M)(#AQ$87\'5.SE0?\[8;T?3[VNC:L[^G\<&4C-H HH=@[ITR%G(RFBG" ?UV M:7FY 5".)"VSL<(K2VO?!AZ.=JJ[D\G5:R("CWVELD.^"[07+YOTP2]N?KI= MCE R5F>-MD3BQ5SA01/GK20B4BYUL,YV:] ];+=?!W;\F,NX2M*,3=8(?OA> MD*M,W@XP1PK.=(1XG+#-""3W5:,!#!U1H6B6 J3.1$A5VK5H6EKD!2*$-T[3 M&(.HG1YW5$7:$PQZ/7K4AYCQ],=?M;4KOSWA4V_' B-RM+#19&,-LW24#0SXUR/_F[Q7.HC$J;'*/H M8?@R1D>$TEVN%.$Q$5B0P8"98)_9 N^DM:IS5[O__<,I_50R MS]!)(7*0-!'GRO"24-HC2I:)PO=$:]QX37ZQ96VYG-F[U&GIQ0CBW=I'O^8E MSD=8W,QOX\WMO%Q'?/7S+[#XW<]+OM!W&' _T^E[AU^]](=?Z5;E^<+-XN9L MEO SF'^')X%*'D.VUA%34G DI8XXC:8*LU%)HP1GO';KWRZXAG?9?K)&^_U7 MN.&ELMKOMT7-W^(>P2M[AFGYM!>>)02"IRNW 1\R.$>LXFAS M133=(@ MLMKEM?MW@2'7SCNVZ]4-E,*'3M;BFUB:2&6)UJL$030^JF-.1DFKIT9VAS?5 MQ?+HK\!8E+R6F^,= FQO%B248MZ(3E(."667$[YC3! #"I)6BF=7.ZZ^!]+Q M;XLK:\+._G\%G?$4^P[R-*I0Z-IBAD!\*%(,+3O 0B:$Q$)F<)UX;03@3V/J;<*U,G0[(1C(UMZ,ZCJU9A[T.*C% ]!-M M'$N$@3-K51FMJ[@CDN$?EC'T^:U1FOJ$.VCM+DU3*\4>.W-JG>@C\=J5I"NC M9[DG_GKIP^45BAA6M20K(\B%J+@!HJ3!1P^X.3JM@7@OA$&I) ?=9L!W7'!Z M"Z(60?6KG\.Y7Q1+X?H;[AWW&\$4Q(-9R6&^:^*_?GKUTM?W0)RM,7\H\HG9L]4S71;HU M_>7 \^"76;FKOOQ^O];[;^V-]G*72EI;QT"1[!S'7:HXPD'A\17R"C_I M= ;L6.0TB:PJVG7*U< F!+/2,^,6?^5N S053>3)EV;D'@\_'BD:/2(3%P(M M[7.D =N)]=WKG##Q%06\SKVNHEY MG5XSE-XG?4_:1UF,0NRV54Z:TCVB72?3UFKZTR[7JM"'3W\\-*I+,24;$A%, M,2(C#>@_Y$0B)+ 6@A9Q;T)JEX5.D]3J(EZGW]6BOWW,Y2'RX?S]@Q$1G.5* M6:),PM.$>UJ\2$O N"PM\P"I6\N@O4O]/52@@I@WA&N&=8SZ^.ELX6?IXZ-. M!L:-$L812F-;O HD:(!2H^--M$X9JSJQOO;5)\SR,#%N8+5:/[='ZV )3'"P MH",0G8TDTJ+B.445@20[9VDO/RY_!'R&__FO M_P-02P,$% @ B(%C5P%D$%IT$P$ 4H,+ !4 !C9'AS+3(P,C,P.3,P M7VQA8BYX;6S4O>F2W#B6)OJ_GP(WIVPFR\Q1R07

  • QT)8M,Z445U)F35O: M-3>L$9ST<$:1])"BG_X")-V=OI$ '62PJJV54@0)G/.1^'AP<)9_^]_?'U;@ MB>=%FJW__0?W;\X/@*]IQM+UW;__\-O7=S#^X7__Q[_\R[_]/Q#^GU>?/X W M&=T\\'4)7N<Y7^F3QC7;7^;_QSXR O=V($BB!*(O"2 "7;4'W[(DL0EE/#%W<\132AF;@0Q M#1V(F./ F#@"1@$6/HL(XPFK!EVEZS]_5G\07' @U5L7U3___8?[LGS\^:>? MOGW[]K?O)%_]+_4/S>7?3Z[_YE=7NTF2_%3]=G=ID9Z[4 [K M_O1_?OWPA=[S!PS3=5'B-543%.G/1?7##QG%985ZKUS@XA7J7W![&50_@JX' M??=OWPOVPW_\"P U''FVXI^Y .J_OWU^?W'*Y"=UQ4]K?J>>[2W/TXQ]*7%> M?L"$KZ3TU6CE\R/_]Q^*].%QQ;<_N\^Y.#_L*L\/1E52)DI*-U12_H]+D_UT MA?B6Y"U/9;4@7*7N1ULR=F'ZT9JX7R5#\/$%;DUSMBVR$J\F>"WVT[1$7JD??)!_:Z91 W60:35/0]TM4?GWDJ\9K]GR8&B0 MLG__0?YMN2G@'<:/RR]E1O^\>7S,.4TKZOZL/FO%EYO/7W[E#X3GRW+W_B[Y M&O[V93M5-9[A8#\8J%5>6)XY+[)-3OQM7+(@C^J$7^_RY"F=$# MX5;*A,CR8W@R:@[/?HT64K,*&X$+4BG7#/:3LM]^XJNRV/X$JI]4"U5_OI]. MWHV;?*L5SFG/8VJN^(EFTIIZ+.'!$Q-Y]C!0_3(;^%K5#T**]0/(;/K+B-ZM5]DW-]B[+Y1:2I>6'K"AX\3E; MK>2/ON&<+0F-N(/]!%+?8Q 1PB!AKI!/P U%XL:N;V_=UI ?9J M+,!.$2 ?(ZA5 4H7\(?2!33*7%Y6-A^2@TR 3^4]ST&C M 6BI8+AOT7\.FAN84= =>R?3 O8,I."/2G*@1 >5[#:W-,: V=K;Z$\\[2;' M&)"3W8[Y",-8['3XUYL\Y^MRZ7G8#5$4PXA&(411Q"#V PY%P'" ?$$=1RR? M>$XR7=JZ.)?).FK/.-YRJKD)-PMI-92;+J.+G8AA&@?0=P6'B 44QC1T(8MH MXCE!Z+J<+LN=EVT:;,L+SD.;R%:>0Y"-C:\>U5M!;61F/\/F"]"(:8_#>Y&P M1-F7YYF4H7O5/2;D_AO,^+?(R^5G^9AYXUN-,64".QS&H20%Y D*$XPX=#R" M1>BX+ @C'1/Q:-S9V7\E+M.B3*GD@%\Y5JZ-ZNSZCS?9 T[7FIOB8_"Z%_L5 MD(SN?AZ(AO;ROJ![UV*6M[06LOS7?A$?CS;)DKV@PG:!7OKU,'/H_?I)/H L M?_X=KS:UFYD7/'_BQ3+V/4(2+J"'F-S$89Y @EP"0]^-D(AQQ!-JLHF[/-7< M%NU.4I W$II]I3M U?M,VX%JY,6\1VDG)?C^#YV^:;XT:22BJ2]HM*75>,\Q&46>!GT3MU'Z'J=J. M//^*OZY.5/;2KX C>Q@#_7K M/JB-3: AF%DRBHRFGM1,&@+*L>$T:(QA'*8L,GG3_%/?)4]JB_5V^^/ M?%WP913&./0\'T8B0A Y/( 88PXC/_(IH3P.G=C,]=PYW_S_6@A8HEONN>:E&"TU#YF%+V;AKIJ:,YQ MP=_P^K_OUY\>>2Z-W8JDTA*O;DA1YIB62^&YKHA( (DC!$112"%V Q\*',5N M1'SJ^[X9G^A//C]R>7VOW&4%2-<@VPH-<%'PLJA63^LTYF=31X_V(]%U_(P! M\^B.H%I8\.-6[+\JK'>2@T9T\,=6>(MG\>:(6?,7:4\\L?_(%)!3?Y+Q".8A MR+^M6;YZOOO"Z2979M>?Y6V>4O[Z?GUW*Y>+Q@ZM?Y2Y[<>DM%R*JY;$5F*Y M@\8ND]:5>EL."^?O^9X74B62;/UAUU:0HBD.9-0#BE#0GS2:!U;JP[X=PXI)$75 *#EL1Z*0S#0-?=.MF#"5']\ ME;/>K-FM7"D?Y=JIH]&6!#LH]%T"(^X+B%R/P(3Z2/XSXK$3>(Q2LRR6$82< M&\-7D@(EJF&(XZA/TH#N7_#YC,S\)H]F&'&/A)U-#KY"G;3LJH[;I\;>RK!JFA*#G"AX@TJD8&26=\I> FJ M?F^@!90FX; ]*F"/F!V/7P\$@UQ]E\:>O3S'WJ<5<@F! 60N0C#$G$& PYN[5BV83V25WE5&APJ?H*H&6_H@+_DDOJ@D(E$[ ^O=H[L,/>9Y M@D4P%&X$4<(P3)A#81@Y$0M]YL?,*%G%EF!S(YVMR*"L9%8V1M&2>C'(+V?M M*>J>,TS_;$8_CZA46H"=4@>%JO9J5=ZW^@E^W3W!+P=/T+9/SC;7@JH[=?;:2-Q?UMV0?ID:I1R4UPQ"%,41( M$!@[B$ 6\X@G,44^168%+35FG1LC[X2N5G)+[/\%:L%UPJ:N> B:OC';T(Y] MS&$#U0&U+@U0LE;O4F?.B6M>&L!P6O?2Y.8!B8W[4C.OLX>'M-I4%#=K]CI; MJQ WOJ;;FC/2JL3,%?LZC_KRSHZA6K:66 M[%7P[('T3=4EDU1!@Z?1S50C8CPV5\T#7H,DS7%@GBA_LPTW/8*;MA7XFZ7\ M3G.T.E,_#8:;+BO47,>#A-$!MP^O=U'[D8HWG)1RBOK#TD0SREF,(_9U!YP1 MX[2$7@ E=O7R-X;17O*1 O9- ;-8X$%SXLD+/I@!I)Y0$< MYDS66?XXQB*,W 0BD<@_DB""Q'-]&'M.F#@8L2 QBI?HG&UN-M).V.,<86-7 M6@?"VOXQ.[B-[_0Z#]D(70BT,+'GF>J8:VIW4[_:9WQ(&C==_?V5-%55G?PH M5:E+R]U4.7E+EW$21$$"H]@/(,+4APD1&%+&:<@DF?@.-\U>[)W59%U,D[:X M%UIETZVS-7RH$EZJNK:\_E87^V_UCW]QJJ_X7UQ_D7ANW14-@[R)=']44=2& M'5)T'A;W&$/4D2P?$ \B2A-(G"2"KA]YGI-P%WG,M$J8Q4%TMFCU_M:5:/<"@UKB40S0/GCL6YX79WPID[,/@@Y; ML_=6\S"O7]>/J6H"\C5]X$Q5LL\>'G_'JW/M^_;36@J MD>O>#>W(_.[P)B,,NPG$(GPCDX8)L:=[(X,0WEVK%B M.IFP1]EP\, M(>!WRLKXS!^S7/F =WY9'KDNPRR!U'4X1('\6TPY@G*_P4.4"!X[1J%>ER:: M&PLT^$"$-7>/F+6*P%-6XH<@Y./2*X'J*1:6"'32/A.'U$.C"PUT3DW"13=Q#I4/1, M^Y"NJX>M?;7!V,A/K3K=J@KK-79LPG&$:.Q")R8Q1&Y(8F"PQ :79IF4#GI4/>:#OLN'$8+R/E01(AO.FAIUV5KY)>4O'K,"KW[)L\VC M:4B'X:@S>LG;DH.]Z'6-V$9X4$L_BD$\$#E+Z\)T]DG7RT!HCM?1T&',7?&? M>;&-Q%6IH#??TT+7!7_FUKE].ULB@C=Q7(C0R MC72#(YE#BFO)G]X!Q" _^KGQ)O.?=RC3]IMW76:>7[T/G3S-U*R*3U_(WZS> MU) $R*6N-)61\""*J+2<">;03UR.DL3U?.'J9E]?(\C'B"W$W=(=[1^" U2<:Q".5$&SK60FJ7?:"/4 MF773/\ITR3;:&AWDV.C?9:T_R6%T6*N7]#) ")$H\:#CBU@:GD$,"7.5X>ES M[H8BPLPH5\!D\MEQ$,#R AV/5H9"\R1 M>>8#+PK.%^ (S\7.XGE>@#(#A(-;G+(%>)<6%*_ ?W&<@U]Q63=8&N.(< B> MEJC*:.I)N6L(*,=D-F@,\V/!]^LBE5=^S3%3Y<6R5:KH\C;/Z ?-=D&:H\QH M,372@D9_7+,>: =>&D?B5T,U M]JEX+TI6,\VZ\1AV.'Y^R.G.QSM5.C@B[[YR<+08OKO+>5T$\Y-H:F7NOUM> M($UN[(?0=4,.4<@]F&"70>)'8>13%"''R"G9-^'<>.!07E4?JY'XBMZ"O:#K MF>$VH1R9)ZY$<4C0G18T]J+LNJ>;.JQ.2_DS<71Z]UT7.)?QXF-6?E;'KCG_ MS&GVQ//GK_Q[^4HJ\>>0>+KN$>?&*.U(,B9%!^NL!'DM/-A*/RS8K@=:#8-C M%%3'-D+:H7D*4"DV^'P$*/A#B0XJV4>(T],#Z^KPO9YI7B2J3T_U2\%^FG>+W-1+V2R-VA"-(&,)8, \BCGP8QS&!4>!PWZ&1X,(Q*[NM.?/< MV*GI9E_7AS:MK:V+MIY],PJ&(W/1MI"V5;(9#(BUQ^U.5K]DKKMS+RJO\::WZP7V5O^=8R,6]=(7#0B>*8( \1[(0%S ) M? P3Q^C>.&!/%<1G%73#D#YSY+J#^PS&FS#,SUS+PX"_ M ?DSD X*]Y)!=X7Q:9J-U.5\L[6U8=G&1/N!S2DD/HB@"AR$(PC'$,' MLR#Q0AK)?QA5;NJ;<6XTOQ48J(<,TD;D;0WZ; T*);4*4I.OQII7O7CJ&IZ/ M&[)*J;Q2\#Q=WQF6?NI],GKVJ56\1_X<'$+]O@5U+6^/O6]>&4H7&ULUHGKG MF[9:E*[Z)W6CM&\4)X)#8*N^F>;FY\U%<(90BB>E1B#Z>1>60G:%V"=E'YVI2P MX,W&9I:"&3"62*1GLDD91$_Q8_K0O&MH_.^ZBI3YN_P"O][(;_,#SW>A4Z_O MU>'O^[4J?"ER^0:=[;)7=]5+.=OUY*/9W3K];\Z6E(2(QCR""%$"$8EC2# B M$"><,!*C, K9LLQ*O-*CGE&E-6*NG[I"$GWJ'52) MZ+W85@IR)\4O<1BC@',**:/2&'>\ ":QQR'FPL$1BYC# ]-.0T82S(\L,,:5VMRNN_DG.P)JGGYAO.6.>BUCD M\4B_U?5H:HXT@(\[%0WZ?H\WGNB$40PCZ<_,K/7#[[2$C1J@IOZP;<=&)6J MX&;WX'?:@@_U@_]R]."_9N#WZL'_.K,';](>?!8OP%3MQ&?P(ACV(Q_]\73W M+Q]O^@G[G8^.X6%_]/&G&]H1NBCSE):]KLRP] M0I($>SX,D@!#E(01),*59@9SL<3/;PM")6Y=2T7]I27XHE7IR68G:5.XK+65UIYXXA[3IH"<-IPV'F'P MJ2[E:F^F3(+/:?'GAUT:HDLC[B&40,>-(HA\0F G MFAL;'4@*E*A7I'MV(*Q].FH!M_&/-@=!-N0TL@<->T>)ER::^ARP1^$SAWA] M=PSQM.#U:YROLFVK3.;$!'DH@#RD0M5\4UGA7@3]V/=0[,8TQH&^>^1P\+D1 M@A0/U/*9[#R/ -/Q$PR'8>S-_0Z!(?5]3]X=@YWS<$BFVN[VOQR&N]'S*G=O M(8_NF7#?=U[:P\W:A6N&V2S[([(WJ3*3R$8]X#?9 T[7R\"7.Z@$8>@3E8=Y$4-F$8&7)S-YRRK MC?@24D,?DS7@&6K%Q=A'>&2ZV8/;6!]29ODJ@UIJ M4(FM+) ZALAF80,3H*Q5-]":=.(2!R9 G-8Y,+K;!EM5(R\#%!$2$Y74X"*( MW$C .%3%MJ1=D[BAY\6^D7?XS!RSYZ&_.']S',=M\=&.@_X5! OYNVWL+=Z4 M]UFN4O<68)VM>56D10ZD0DNR35F4\B\#ZJ^,@%"#!M>KS]"ITF5X]4C "FACNYF& MX65>$;0/"UL50"_.,VW%SSYU3RI\]MXPP#G=JL;T=ZR:7I3;J :*@\1E'$%! MA30NY$8'QA%WH$>=V'==@KR8:+NE+TXS-W)H5Q #6U$-?*B7\=1P/5M!:>QS MIG, #8FBN8R4@9_9"F(3>9C-7BTSCW(O#IV^Y,MW3^=%[M7@P'_ M<[:I#^AV$JL:BX]R]Z1-BYW0ZEE)U\(U,B7NQ%L *> H?N(N!*REU5025CN"/2DO#/9R]YZ['9B_R-$>FP/:# M['A*?<_'O*2F;2QM5=^T)M>TA3IMPWE2T]/Z!,.X_BW.UW*\8NN5F;+*BM:YW<+P&I1 MK1SO78);CS M@#@R_6TEW!_2+4 CI3VNZX'!$G-=FF52'NI1]9A5^BX?QA&_ M2=[!*W5>] M.UQ_D\OBT5F9G475;*)9"6G=Q$"0P\51%'4X)Q,AAD-)(! 'Q M_8AHI8QISC>SRB"8PE/NF;;5)>T53]F%]T;S/O)7K+LZK2D"^+NH\ZIN';*/;D> <.-WK_DI<1E[CPR Q M:N%Y0?E!?3J/QYJL&><%)=H=-R]=,O" O'%R?A*W>2;MV_+Y5CZX4FX\5(&* MQZJQ4K6YI\1'+ @3B"/?@\B-,20LIA![3NR$1(0^]8S.RS4GGMOB;GN%MY(O M0"5[M>'?23_,&Z/]//2L@#%0'ILJK@+5_-C=$"%;I_"ZTTY[*&\(QLD9O>G] M W/&LXQ]2U>KSW)?_B[+5:VP)5(]U@*?PLCE#"+$&,388]!U!?4Y1TG"M#(_ M.^:8&Q5M101_*"%!(Z5I8O@9+/6XY4J$1J814W#,L[\OJV\KZ?O,#-/F>E]6 M\23%N^-2\WW!UQRK6-2;/'_U_'[-ZB^>YN;@W+US6[F-C.!&G=W?5:7BBP4@ MSW+'R]*GE&WP2G^?JTMQ.= MUUUYDOQ^_;@IBZI*I]\$-_$@H#%+$N@ZL>I*R! D@4,AXU@$H?!H//!L^'2N MN2WZ2K;_^3__& M\G\XDFSA.Y(\D*-:"F(8L%!@@@F)A#V,)YD8I50ML6-[C-2SYPV.6X_P9 MI ^/\IE5NV5UJ&EZ_&#^6/0H:%2P1R8F)2O8"[L .V6@R'*HU%F UCF&$M\> M40U&SA)]F<\_*:D-AN>8ZH8/-"#SX/.7FP*OV>=&74K RK>G1#2(FS_%+0DQBP)5VCB6=B6* MF2--2A7#PGSJN\CW$")Z\CQ&YN6#EVA(%L8I M(@;9%UDT.ZP0.9L1_CZ=:[^.7Y@62K9>@$3D@# M FF@,LE$+"TU'OI0Q*$0./:PZU$="_=DY+D9MUOG=2V='CV=PM5-.U>!,)'S MOD=_;8JXJ&N'8U[>4Z]Z^9?]8C\=:9)%?%&![>*\?('YZ=G';'W+LX\\NWFZ MJZ*$:+G!J]7S+4Z9091=SS!S6W-27*C"S#[*_[^1!@F^XT?!9HW\0"E@'(W7 M!VKW8K6,Y\C+URZ41J=PFB -.I#K&WNRLSE-)=O'=+JW#-N@?.3E^S7-'GCE MSXU)+/R 2/1H1%1I' 3C,/$@=AQ!0T$2QV7+4L4@ZFT]#D8WHHW='".^ZTWN MC]D>XA PY""7^T$ 48ACB+!@R@,50THX2[@7!0B-W AH6$(@XA2SW-#[B=&N6;#W[(),\RN 4QO%SH8AK&_*1*!6K F MPQO&LRI8VA8=C3[KA.ZO6\6;N_$6VZD8O<>S[B?!"R$@5]2WI+>8!4TG] M7ARBA%(4F'P*3J>8V_>@SE*@IY6BKRT4/;A ](P6\;G"T&-6@[:\F,],\,+5 MGR\MZXXKKXS)>I,65'Z)-O*UV)6A\8/08S3T(8VXM%\2@6'5=4LP%H8XXBS" M1JV+NR:;VY=Y'W,$6M+J5+$QQUF/ 6RA-S(7# =N>*16!R*V0[7.3?4RL5H= M2E\,UNJZ9R"!I&N\INGZ[C.G/'U281+%VW_(/>C7[)><8[E4O][C=>*\P<_% M+2[*-QO>G*CZQ$>8TU@:^CR$J&KUDU /NBA$. YI@+E1YMA@2>9&/8D+E(QU M!6:Y<3-DFL$/1).&IH!Y;(ZJ=9 &755P90$J!4"9J?+RC19 A<^!Q*F?A=($ M2%7&B#>]%E!;%#=8CFGY[UJX3LCQZ@'-7?&O[U7R KOE//\ESS:/[]9?^??R ME=3S3UTW?,<0;MM@A%F_E]T27",34Q=2X \E M,:A$MI3;H@'*((]ZU[B3>=,UE&M[TG4N'[#0LR]\Q6G)65/&ZZ-\^MI+_-S- MLUOW;$Z59N MET(':[;SPFLK7[S&Q?W-FJG_J#3U)[Q2R895)MS^RY,X*$A8H,H>)Q@B',40 MQ]B!<1PD+@\$8S@:5O]"9_JYD4&["H82O-K#5']IJ3"T\H76\]#;Q(R'\LAT MH@5PDP +K-H+UT%GO3R&UN0O5"3#!)C+I3*,1KGZ9$?.5 7YW6;_: *7E M\[X_:!RQ)$$,QIRJHG[$@=C% 22^)#CF(\%BS5P*TZGG=\C=+L.L5E];]O\% M:ND''PIU/P;CHR)KT$YW@+0K[%,^C]U;5 L=^V=,W=.^U,F3%A@=YU%Z]P^L M2_SPN,J>>1V&W'@KXRCQ$L$)3#@)(8J\&!+"!/1C%Y,P9")P0Z.:Q*=SS,VZ MVHI84XYAK>$S$.K1R97 C,P$S,TQ;5_BRBB,[_=)L;F\34<^7N"W-70!3''L2!'T'7\SP2(X(C9%1L^!IA MYL86'=N#04W]KGI0>E0S%?QC^WR&(V],3S8@L\1C5XDR*>'9 .V8&:V,>44> MZ?D=@X-"+PH#!AD66%I),8=QA AT$A8C[(4N2@PW;O],6[7#K1FOI/UY0%;H M-;NQ?XK]5RW8 MR4\ATFF[I0?9FICNM5==41]F&3[;SFLM MRY%4UL[GM/CS%5_3>]6CH&G3&_(D3H*001('$41>2" 1'H>>X*&*SH^M^$L[.=VO(")3#823S0?.K%7(].;"(Y^M'7-2 :$XHN,I9HI7>Z2Y-LG8@7%\AJGQ^R8% M!5M)%[M.B9?]\$/8I1\2>]32,=?4O-*O]AE2T;C):LV M^;M120E?887K80&#?55Q55.\?=TM?JY^?*-JV"^V!8\6NXI'!9#+I@9A]-I' M&BB/6_RH2X Y5#_2 $BS_)'.2 ,/-:L=_;Z0J/I:9IOR,\K-<;O*JK;"RIYPF?H$AETR"(?#>&L1,1Z(8S3BWAHVZ-M=-P<--&NP]9\\#VI1[=)$[*5KWERNR7 MFH%&-=#6#1Q4C=\_<*7@ M0J6BM1,RKTMHZ9K'&V/,LE0OTE1 M?A*J>4X55\/SIY3*KU"V8DN/$(2$7,"8D\U_>,TB8O M3S4WUE:2*KY^S#.VD9O^@>Z1B\CJ^D9LX#6Z8Z2&JA*SCE)L! 5*4IMND3XT MK/E$+DXTL4.D3^%3;TCO'0-=(*IE!(_= M>[[Q'YWFAOV%'LC\M_+UXVPTM+^%'P%W6YM[FZ)-N^T? =03A\ 82QHA-T0NA0%!%"(Q@%GJ)GQ 3OCZ=8FZL^_9X M)PXXSM=R.:O70QJ#A?PGK>/NF.I&E=6=@3$MTZ?Z^A__XE2__HN[\%!0WX?E MG2NL$C,?<5X^&[I7SSP8CG# ?)+ Q,7RP<0TAL3CTCYWA1-AUW$Y3I9K?J?F M'/71)/6C:4\UXX=S->YZ7\'K7O.1OV65<*"1KJF*:.]#=%EU2Y^3,Q-,^E&X MK. QM7=<:9[B__:[?.GE:\Q?RW5VE^7/-]_30C?%_^S-LV/>K9!@*Z5F$.5E M>+I7JQ5DQO9&GH "_E B6BK-T:G^H*3^\R-.EM3?J5 [J;_[PBL,*&G&/:25 MG[_.HEU&/O;"@(0P5-TF$$,QQ)X7P(01AV#B.0DU.C,Y.\O<%G/]D6E)V=LN MV0!1@X_P-3A-\ATV@6C8Q_@2!#:_QR=S3/])OJ3FV:_RQ8L'^LC2NW4J4HKE MWHQ2Y9E7F[)LE5)I<^ZK1C"?)9QZ(<3,\^1N"F-()#E %3I$G3AFG+J&(4): M$\\O+$CN9M-"N8YOE='>]*&K/I-.ZT@R N+$161V]TAN_N*2(^HH8*5XOZ[=47_G MZ=U]R5G3PV7[^]L\E?:.XX8>BU3W+:Z*/A-7P#BB ?00=EFQI\V0KX2]> 9:L5S@MUQE"'9)J&_TW[[E@ZB7BQ M-V(&9Q7%%7&'"[![W;;MF791OA46$YYJC/(,ISKWL"O\O$Y&1GDPQF&5?K-2O*:U:*=YX%>.W7V[559?=%:NOV5-2]OHZN&N6= ME"Q;\\^,P:/U=&'*RI=BM4GM5]EQIMD I^UXLOTBCFA>OW=N\239OUP7$Q&4\ M"D+(8X(@DO^#F$E:5O :NF GKDFQQ7YHNQ>\ M5<#&=F9:K+*WYT$M^I.+)_ M@$FH4EN/+6/JWS#,7Z!"^;^EJ]4R\$+/2UP?4BZHY$E&8!))GJ2Q\-3_(Q%0 MLU/#[=#S.Q?<2F;F#MA!E0@:D@2%,! A4[W#79B@.(:>B##VJ,OCR%G6D?1? M2IR7X\%U/,GXD"T X7?I>JW.]0B6EW0X8KM15.40F"I=(8V"""*1.#!6_<6) M"!,NA!-[1#0HOEUK1I<.QW [Q10(2'\OEVI8[%UTR%AE?1WOM8#M?C@@4404)4LIDGOP;$]2GD M"64NQS'S?:/R@OU3SFV)MONX;*7?=3ZH1%^ C_QR9OI0Y/76MET\1U[U6V$7 MH!+W$,516^'HPV2)-S0FG)11] $XYAJ#.X?6"<-E==)89Z:H8\ALK0X>J_!S MBH7+N>/#*!0.1(1PB$,:0HXC(2WZ.(HC+0^'UFQSXYXF5V]JW2 MC5OS]@XT-T;8"PRDQ#\^_17LA=8_X^C'K_^XPRIT([-"%VHC-.O5AF;084C_ MZ).=BV@KVCXBT;]IXF(;'S?*Y?A)U(7D;IYPNJIJ"&7Y+_+>BBAQ/5BRHV<$F,).C?.JL6M F@K@0'>2@Q$EH,[)?-$13GZ M'K&F,32#!S?VF='UQ3KVC[U6%]P^]V&PI M,YXNWZY+5;3W :]6KS9%NN9%L73-/H$L2+H@3!#[5 MFO\$H+=J]L"+F/[ZXT@T5[*/8IW+&)Y9[V(Y5_V MB_C2>),LWQYEM@NW[[(!LR3V M('>B"*+8\2#AB, (888#["6^JQ4@H#G?W);T5F+PL!<9X*W,!F&U&E!WK_41 M !QY[>^P:TD+=N(.B4W6 -$@0MDNF!/%*7>#:BE661^9SHAEC6&FBUO6U^D@ M>MG@-G.;Z8-\#*O;^VS-:T?6DB2(^2XGD 9. A$31!I,)((25R\.5.:S7N^8 M53H#KMY.N@6-DHC1 PLA"NJ3R(//H9+#);*-+:K0- MHXO7F/LDMKE=G\3;7!5!>]P?87Z0%M?[DC_H5,W4&69&[^!67.4/E )+(+-- ML7JN#WN.#XG:I^M*&5!I8^ETW02X0;MUK0DFV[B;J-O>PQO=9[8*BKQGV;LLYQ076_,J<@5VJ8M@R%P*D>-0&(L00>S+'7W$0\HBK>84EZ>8VV=J M*YW>QZD#NF[*L /(V!9](YC%PAK]>G=Y]N7=+:^^_-=^I7<,/,G:[E=LNYHU MKAQV?ME4PBLD5?#T29W>-*^BQV+NB5BNW3@D$&&70!)Z(71\$B=))/\7&D6Z M7)IH;FMY*R?8"VIVPG@14;WS0QLXC>V(/X5HA#(Z?4!8.LV[.,VD9W5]RAZ? MQ/5>/S!NCJ_D;^]^X6N>X]7-FMVPAW2=%F6.58WOM]^5?<>+YH46C#+A"0PY M#['D_EG&+-0B[\ =[4"578+/E#!,,C-Z'GH M$R@[V H_ AT-@LU6Q)C1W-.&@0V!Y22V:] @ YL+/'(U MZOKN \>2$%),*M^=ZB^RR7.^+I>Q%_O<=0,8A#R4M(8QQ&$20@\QXHM8);\; MY3OVSC@W$^A#MKZ#JH$J6"F)0496Z1VN*]Y"L%.G_JUI+Z!>^/58S"JH(S/7 M'K%*V 78B;L >X$MMBO0Q<96ZX+>^:9M8Z"K_DE+ ^T;A\:*2D9+:=F4-_EM MG4H#[LMOS=?;C83KNP&'(E15#F(B-UR^X\+$3Q+*B!<&OFM".YVSS8URI&"& M1-(-IAZ)6(-H=,?K5LZF9E,E*?A1H?;7$6P=+5RL15-VS35QP*2&VJQ[ M# I735*81A9T;7;6#TRO9(3E-DVG,UBI%I@Z@>P9?I2BF'5?& M? DTMXPS>;1C[S#/)3+M$TP6X(2'U1;T+#DOP%;;46/BIW@PMO:P8XHZ[99W M M!/=LA3S'EUZ> W&_XU^SW-5DU^P']F#_RU\E/FSQ_P-X.0?=-QY_9]."ZS M"]B&JV29G0[JPZ&T (T:0.JQZ(MBOQ[^_I"$,9$?_^1Q!-"OJ7NLC9Z-BLC] MD[U4K61M&#JJ*.N/,; .6OV]+R3!*KI\7Q0;%PY$ M+,0P]H2 -,8.$I0S/]2*:-"9;&Y45@D%TMH%PE3[(OD"K#FM%M2WM+R7JTKP M/%W?&98_ZP)/(O+05<[=9 %M)026JQ1)G&H#8*F[6-=6T9<,?1Q.''#.(X9H'K4AK0V.R$M#W\ M_ Y V]*9T<$!;!'&.H&N7CS>/H3Y?"]^%M@E@TX_K/IS"(<I_$Q]P6NVXOGKK#G-]Q'R$0\P3)A?%8 .(?8] D7( MXH $F'%/*S3BX@RS^\Y_>6U SVY1!YJLM?[ 80HR (6.(F+-:*UK O MVMRX!2JPE8.0G'BZQ55Z9QE;E_*ML.@$=3$J+Z$I<[.PP)" M8^\^3L$9M/6XA)+)]L,"6E-M08:@9K@1Z4&C>S-RZ>8)-R0]\A]N2OHN'G9( M_7Y-LP>^:\VC*N-4C*R:08D(1P&F!":4"TF%7@0Q4QTX/<9=ZC'$0RTJU)AK M;H18BPIVLH*ML(-Z;G6!K'=<:PFZD9ER,&K&)[H:>%@ZX.V::=+S7@V5CX]_ M=6X98#N]JKOY?KGGO'S#2YRNBAM25"[DI1-QI^H5C3W5(I1C HGCJX-=@;#\ M@S+/T3:?.B::&V$THH)*5M (*U_[1EP30Z$+7@V+RA)H(U/%1'@9V%:6<)O( MO!J,GYF)I0%*IY75=?]TAI:&%@>VEL[UP\RM=ZDJ"IKBE=K'YM6+4NQ^=E,4 MO"S:D_^29YO'='VW?Z$C+W!]P0.8>%C:9![V8\&K#@;13,,A5@EY> M-ZTO4L,,O:L?KYXU..4C&_D[L!,;M'19@/V/:W46X)#P=BI9I3S;^%HR0:\6 M9U([U19XQ\:LM7&O+=GP&A?W-VOV?OTD?U2)T:I9X@O'\9(0PRC"#"*:>!"[ M(H$!$=Q)O,0CU"B76F_:N5G#4C+8B"8)=9<52Z4*0VL[=**N1YOVL1R9'%L) MQ4KB*LFX)?,X-6/,4+)>^Z%STA6^OBC.L.,^ MMY]'B#A8^?!X$$$DB*<*/+C0];D?\-!Q!#:J8Z4W[=Q(Z6:URKY5-H3J.%KK M )02IG48-%'7(R7[6(Y,2BW@VG;:7FC+/;2' 66)ES0GG927S( XYB7#NX>X M!].LO.MO7 MOJGFMRW]F#U)J Y%-CEF[<)5QR]H!ZNQ_8('4F[[BPXY;^V"R\0M: >VJ=R" M ^$S] KV8]+M%>RX?T*O8+\6AUY!C>L'EEYG_W?3F(:?^:IJEYI]Q=__GI;W M]]F*R5WLNRP_W_9Z25SL8!$',/(]KFP[!V)$(TBC&'F84H\(O%SSN[H)JWZ1 M]N$B:2V+I%X6)X*-MS2D]+P CSAE,W3U+,9QWXX,RFR]8;3O"H[J^QUJ1]H*=C*:[)8:/YZ7&W5 MHK]"DFG+U5\/V4E%>PM##N/A#UQN!OF%XJ^_XK*JW'=4-T^==R<.#6 HOW$0 MR2TUQ!Z*H2?")(X%9J[KFQW(#)!B?L;N4:5CL)7;C$J'/! ]"AT9Y)&ILY9^ M ;KJ2].+:&KLXVU@-#(]G85GR![^(DX&&W@;>$VT>S=[K"QF0109 MU?JW+^+2K@ ?LQ*\7]?*J+HV+674_OV-TES^YB.OCRI438PZ VUHS6UK MCUS/0'W9!SGVUK]5-;VM'MCK![8*UH6,CA[O5LG]8YVHNK;MAV&]IK8U 5^H MDK9M@"_7S[8^T\"/RK;N)&=O-BKP\+:JSE73W"?E<5Y&/"$!BQSH1P1#)!"' M6$46!ON58Q;\*)F_/Z44EZ\R1YPNEXB*CP'^PET0[F91WX0PD0@!ATDS5/, MO2 66B&,G;/,C6 :0:L0NT92\$:[_V+S/AT5;:A3Y?E-R MO5$DHCK]NO.:YB'@ZB M(UJNDC, 6EW0&B@-6MA=XTZVP#64:R]TG1KWMO 5P1B:#YJ1? MR3CR<7XG$M:.[,_/,O&Q?*>JIT?OW9KU7&T%H^),DR2QZ% M&'-"(<$\5IMR!!.22#[U?.P2WPT"%FW#//5HH',^K??],(9S9#IH"6=V><.@M9%X(S*FG\UH:<"S MT&.I%G"3_FK/;;)52U2,GS^C'K+QAV6.5V;;U/VCZ;;4'G)N_ MIA$<;)V56_$K2 NE/'6&IOZJY":/Q=7 N=4%[ MF[6BCJ>8OC+4!27/UH&Z=.W <@$J]O&KO+-QZ$&>."H!57@PYF$$ M41 ZH4L=1JA1B^R#T>>VM"OA@))N4"'V0^3TUO-@/$9>R/I0F.?!GU/95F;[ MP=C3YJJ?4^LD^_SL10,7ZG41YO41_C()N,<<0:$G/$]EF*OBO]R% 44(HX Q M-_:,%K@-J>9&#%^S$J^:4'# MZDC6!G(90IW^24_#@H6M_,<->EFZJ^Q%Z$V"M"VR-&*3-.2JDT83\C8ZN #\W/.5AIIA6*]>MY?TFY9]K8J(=2J M5ES%"'Z]Q^M/CVJ(XAJITL$,QI1SB)$;8S?@ MW(V)49;/1(+/[5-02Z?.O1\K^:Y($IKJT>M]&N;X0$?^>K1K1/7WECRJ)57W MEJR5;Y>7KU.<0"GU!PT "[!_:VH0+&9 3?S8;.51327VM-E8$S^,DYRNJ>N0^')*1*=@ #6-J/*^T)0([&GQ2FCFOV#$97+C*;,DRGB[? M-/5I_M\-SN4*63U_YH]97DJ3$F&/$0YCGR<0$88@$5X !4D$I5%,.(MTUFW' M''-;O%LQP4Y.4 NJMX:[T.Q>R)8P&GDUF\.CO:@U .@X#Y1WUXM:_F6_EKO& MG&1!:RBU7=4ZEPX,LY(RXN)^'\&P9DWQ]O7=^Y(_["-ZB$^QYR,&0S=P( I\ M A,G#F 0X8B*)' P9B8?:NV9YT8#7S:/CW4U7[P":]6.1@4!I?LPJS7;-@>[ M*NA*^\GH60&CX#TRI30RMV*I%+@[L4$E]SA!5:9HV8JETIYWVA J4SA.(J>, M!QA225*UZGK_\(C3O-KP1X<:1[QATB]":5.M- MG[X?Q%Y 52I;/@# OZ>-_;+5R(0W^J#785P;2$[$N;MF:N\.FZDMP%Y>F_"9 M$*]%&*>BWJO@-&1?37BZ^;=OD D96%.?0P[6O6G8COWMP^,J>^:\J=MTWNLO MS6UE:'-6.?B+*H2E_7N58OXQ*_^+EY\YS>[6Z7]SMA^IONGX%& I7.1Z'F?0 M29 +4>)YD,2)#\.(QF["W8!&1K4B7TR3N5GG!\>/ZZP$SUPUM]VJLZB/F"&I MSB";\I39_J QJ[4R)& 2A1$,/ <[212@@&DU,=&;;FY?MG8U]EKR@P*? M>S4,OUX]H.M]8NQ!.?9WH$9N+^FX%>FU8+$5"M0]V;0!/%J*GX3=Z-TUL L[ M?DPEQ56%%>1&0B5BOJ\;O+-7FX;I5!^N91@E+HH(@90QY=LF'";8QQ 3Y 1N M2'P>:!W'FTX\-\)IY :\)3A(&\D!V90[^UJUZS1LSJ[[,/3H9PR(1R:B+;IM MF<'[-KI;2_.V"UWS!NV&4-EJT:X[[;1-V@W!.&G3;GK_,.IZA]/\=[S:\*9L M;?65W_WP/U.>JP(RSTTD&PN9C_R$0X>'(40X8)"PP(.QXX4>B; 3"Z-,)*/9 MYT9B2DY0";H ;?D78/\;L--A8"BAV?/1H[314!^9U\["J@S5CS>_CQ";. @F M2YQF-O>DQ#8(EF-V&S;(Q/D['S>J0M8G4??;N-F4]UFNMJK+Q'.Y_/\ DL!+ M) V*&!(WP)!R[E./4X(0G211YY*$4^=H(EWHKY -^O:*SB"EIN\9O'3NS$7Y_CF29/K@M98-TSO1@.")C]D3 M7[U*JS,;_,@W94J+IIPG#CEUW<2%811Y4-*[@+%'"?3]R,>NS[ @6B78>^:9 M'6\K2<&1J :'^AV(:D1#V,%I9,8\"]&05L<=6!F$/MC!;**@AX'8F44[]"/2 M&>?0>5X^J[PE%;:FG<-+%68WMV7 MG\1O!:]B83^14N[S59'6M]_IO;+]WF7Y)SD]5N&85;N-#RDFZ2HMGY<8.8(H M;A$1YA!%G@LQ\PDD,7(IIT[,A6-4T7"X+'.CH!O&T@%11M<\#3U*F@CCD?FJ MT@)F DH]0!TLO]5$U8W8Z@)$EH.=-J#N8[33QV*IQ>M!M561\0I)IBW<>#UD M)_4=+0PY8+/Z7NJ[KLHBJ2;!39!,LU\('(?&W*&0<:P:AH41Q-SUH(=)$+HX MYCC4"@'MFVAN]+<3%=1]KC^9A%SVHJJQ8[6$U<@T=@&F(9O6+KP,=JV6<)MH MVSH8/[.-JP8HG3O7KONGV[IJ:'&P=]6Y?D@_U:IL^DV>5X5?M5NHMN^:&]N= M:0JJF;Q^!I%N>>VX+NA$=5+*#MO"FM>OUX=?KX^C-/7#3?&)+36OKF0PSMQ2PW<_S"ONVW-9,3JL0FK953A:ZR8]1(:)>TU? =-I M)^IK!AM&C;\5_)-X6Y3I@^3B8ND$ <(L=&$4N1%$S&/2@.,<)IRP( D#'YGE M&Q\./SP1_-?T>QK,[#88D_ MC@:?E!C.*W:\XB]<9>X2N>79#2TW>+5Z5GD$*O[JYJ'4=8VP M%;-*=CD*:NS^ NI"UN\[N1ZMD9?R=4 9N5.ZL1CD5KDPY&3NE6Z5VFZ6GBL' MG -M$[*;K='VXY_RXK5*%EJ7C3>>RB\SC^7'.?)I A'RY*Z$8!=R-W(22H7G M$ZV8=9-)YT8'6[%AWG@&6H(O0".ZP>F'+O8:)T1,21=5@_.E M$="=Z*SINE?6[,#)$*7.PR?=L:8[B#+4[N!0RO3> 3S^A?_C[WRU:MYM'Z& MT="#+'8(1&'@2;:F/L1>'/@48QSJ;:I.AYX;)Q>U< ;\<(B4!K<.UG]D!FU4 M'\*1AQ@8,.%@+";BN[[7P8S1SFK;R5N'=TS'3F"@\U>8MXIXNR[3\OE= MNN)U#LV2.RYVG9BK9!8!$79CF&!I&08A98RZ"4X(TNT1<3SXW-BFE@\H 9M$ M-?VN$"? =5//M7",;;[I(V'4 .*2RH,Z/YP,-EG+ATMJM'L]7+QF8)YR4X7I MD[BRZV%5VV:)'1=)*P)!BE$$$1$($AP0&#A.B%A"!0JUEO4XXLV-&-HEL"QU M+&W*/QD6?+#\%NBYF%_NV8[,-CO5I1,C*O\OAB%1Z3.8)S!!E$&6>'Z4,(P)-OHN M],XX-ZK?2@FH%-/P *\?7CW"M0K:R!S:DA7LL%/2+H"4UZ(3RA@I?*!FF<>,P;KD09K!]\Q/LQXGG>=!WB=I'^@3&+G8@":A+@D@($1O5 M4.V>;G:LTCB\5;>WQG9858E?&5FE=[@..X2M()WJMX;TT_,$]+C''JXC$T]7 M0)-UTM%#Q1+C]$PV*=WH*7[,-9IW#7"$UPW'>#6NHJ\E]1.!D\"%S*>.BA#W M(/8\!&,1!1[U?11X1-L7?CSZW&BDD:_A#@,+Y3QV&M[Q:Q 9F0"V8#3+7TEW M#1@&;O)K0)G(4VX"CIG7_)+RG8[SDYNF\YU?DO? ?7[QHJ$>]"_W?%55M=&4HWON!(1-#*:^M$/ MX-/UI \%91I?NAX> [SIY]2^PI]^,-S$'O5SJISZU,]>-4(B1U-1KGBSX?_% M3Z0H2>JV5O#)9@;LM=OD*AQ72- MLZ#K;5U&A7)DDM!)TR@S0'@5?[D 2@=0*3%1BD87?E.D9YR=?SZI&5WP&*5E M= YDN2[;AW3-J\;-2X("%^$@@(DT42!R'+F!0CZ!(<4.1M) <9E6!4O]*>=& M8YW5QL ?2NZZ5;GAB9T&^'KL9A?2D>G, IKV*KB= #1V%;?]A/.HY'8"@'8U MM],[AU'01_[MAE;)9I+PY&QK^5=:UW6OLX'J/_>9YSCQA,," 4,GQA!1),VL M +D01TXD6!2R((Z63SPGF2XEF8I@LIK:@HRWJ/;B@T/YS1C)^%GH\=.8^([, M5E)T7Q M>R-_J)M%US7&W,RGEJS@0%B@I-5/HNO$K9N(;$(V,N$,1,LHDTX'BD'Y=)T# M3Y95IZ->.[=.Z_J!*>]KN75;*'-&,X6IYD8(6TE5#^RMJ(;I\)=AU;-([( U,A7L<&I).<(! M=C\6MG+D+T\T;;Y\K\(GN?/]=UAT,JL_ZCY]JNTHESJQKY*5/HEM<(Z[C(E# M.:K:1R4$HDAN?T@L.'1C+EB2^!Y&1K4S!LHQ-V:I*R8K"K?@=M9X#%NC.:9#6D.*EW=+ZT.EY9PV&.[:[);Z M)%[.O*?AF]4J^Z:.Y]]E^>N(W.K M[4=Q11;)4!2M9XP8"_)"V2%# ;N<"3)X1#-R+?)2;GL?Y3M\+_G[YB[GU?;W M=57S+7]493(_RG>VZ0X<2V/3"Q&& 8ZIM#;]&%;QVB2D?HQ#08) *TC):-:Y M469;2J#$-&S,; 9Y-P&.!N3(7#< 0VTZ&X1)%W/) 5NL)?^U9RRSN28AIT'J M;WEHV,T#7-^2XUR'!*XJ%\ZRQY*S=RM\I^WU/G_[W)A"B0F4G- ]J"W?B&S@ M\;X EX:S^WJDQO9S=X,$_E#R6BK$WX/&,%?WA3&G\W)W*W7@X.ZY]-J-F7*@ MYQM:;G+5"6#-FFI'*EJZL><)]5P6N F4^RX?HMB-8)PP!_J$)YPG(H[9P)U8 M[]QS8X=V9OF!\%4DS+;T?"7_M=NN_N=BNL^RBO;(#&,3Z"LV5=J06=]%]<_\ M0MLF;4@N[Y/TAQB:#E_*7B *HI4ZIFD;^HYFS_H'7EDC@4A[%D M.A&IF,F0"I@D@0>YCX)8/;1M9J@>8[3>K?XQ*4]QP0?I>N5?4#M:S5#VIA3;/QKWFZ"+DL=(2 M5+ ((B0?,7%]#A&/!0K=R$.4-D_W[9K-\MENY9K3D^7R5R_V3'$4<3],8H@( M11 YB, XQC'DKDLCC_@)VQ>XD4.3G[RTWCX>=&2$I M98X72L2%D45^ ;]N KH>E;'=20J03Z)NW;P M]<#8E)]^QI@)JHK8@:083WN M2_IWU^0^N6O"NMR7)#ZLS7WQJF%6V/OUD[3OU,-^OZ;9 W_?-$U<,N13P2,N MS2W5+=?C&,9>',#8H4Z,B4\U%!+6,"_"^K]>FL6W4AX,E(^CB-)-:.WW*'ILUO=>;G[1_*?^\S>FG M_&N1-SW?)/?_RLO[C.VS-S6/W77&FIWYHB@5W,J=KK1BI)W_Y3/8RPYJX?4/ MXK70[#^5MPWDV!:/!H:6NV";HC3HZ%YK@LG.\4W4;1_J&]TWS)KX'>>I.DO; M5\+S&1,.(2[TJ_9"'B6J1;6 ?H03![MQR(E6#NO%&>;&(UL!6W45S>R'4PSU M#(>KD!F9&':@6"TAV*NY)1OA=/Q)C8.+ZAU;!94@I]S,XZBWIZ] 9>4V?N$WM+NK+ MNH]2&7GZ97U9P>X*R%CSOI#?R USTP#2?J9(]A[ ,=50E,I9#6R4];519@]VCV MVH"=.D#I VZG?S(&WMS)GM!$GM^1GY29J]@*N)UNY>MFF,X%;06) W>UG1$' MNK8?'G&:J[?Y4_XF+1ZS J\^B0^9_(ZF3YS=% 7?UFK:^V0"0;B(/ :9%Q!U M9A?"1$0!3%A(&8V9$YD9N$.$F-N7;:^#6K-*=E@)#VKI#=WC0YZ*INM\9*S' M=JNW8,[!5H&SD$]31^X:/&VYYX>(,*WK_@J03MSZUXPUC"3K,?^3K]B[+%>' MBQ^S\A;GY2>Q%>"7/-L\;HLE$19%4<((=&(/2?,?%_B1XS]YT[Y> M, ]YCH@@"QT'(H=2B*G ,' XCBEU(QSI-W@Z-\/<&$J*"/8R&FQMS\*GX4NX M%I21&>80#_!'+:!FON1E8 RV\M<"--$.7?/%,=MI=^G>N8$^>^-T^^(NN0^V MNYT7#LPKS!X>LG5ULEZU[BW>%\6&LZ7',,4D8!"Y0OZ!W @FB4HQ"Q,1!XR1 MA+I&S77/SS,W0JO%W :9%I6D"Y!6LH(?TW7SH[\:9A1= %G/WK( W'%# MBJJ2WA)[E$H>H-!G6)($]Q)(D.="1PCJAJ[CX2@Q"^+LG=/DK9\FFK-.V%?Y M;=GNR)(W4O\\\"3W(N*&![LV4)SLG'$S<>^-02Z2NS_GWM+Q_O9%?X >>GS2&1C%-,$\03+P@@2CB,8P1]V&$ MY-8KP"+A(38S2_HGG9N-\H8++@5367$UHP^"*>FC<&]YAUPOW"ZR>5(;[_3>U7R2U656PJ1 M2)9!,?1Q(N3>)U9>:)=!(HDG3'RY&0JTO-"7)I@;H6QE!%LAJU*(^GUPSX+8 M32$VH!F9+@Q1,>J&VZ7ZH'ZX9P> )&'74@P8I [ G$W0C&+C,+%C6:? MV[+_R$OPF&>4<[:-*M,M!CD,?3VK8C1,Q^:+)D&Y\8(#\I07GH=!;UXQ%XC)"R19CZ4TZ+549 7'"469W M#R0GY5Q6D>;L=?:@!JQHL%4M^=7S_I*F_,G--YRSZH_?>:'<1Y_3N_NR: 4J M.RCBG"<8NIPF$/F!#S%U \B3R*>)0(+K5?,?5+"Q]%R[/,RFW]ZI[S,_]-PP]1#T\FUT*EX=Q(NWJQ$\DM1)5UA2K ML*Z(!V'"_ !A851'^F@"(T:=KC1T1TR&Z7'I$:"Z1Z/#81K]&/0XS,+F<>=Y MM:T=;1X-/_$QYGGE3H\L+UQGWA+O5_P]?=@\-)\A'K(@<+T BI CB&(B/_$H MC*%@"4\8]QT'(]VV=P3.JM'N&'?^ O.@@#=-#/Q7>>N241HYB'@059_-@(20".Y"X7DT3%#D MQ5P[&* ]\-S6W%8VH(33/_L_P*I[X5V#P,CK3D]YHR/^/\L_^WKPLY%=,-BN\$@]*^31WH3K@=C. +:PFRM#>=9E_=]AE?@&VTMH#SB2KTAJ $^57 M7@.D8=*E%C3=Z9?=0TR8B*FERV%*IMXM0\_;L[R4O/2PK^P8.VY (TKE_L/U M(1)^#!,N0ACX-(Y=@9S([*CD=(JY&4Z5A%#.]#"\1.89(/7\>-?!,S);UL@H MZ<:ID7E9>6NGNB<33'PD>TG!T_/4BU<.,)=>X96BC"_WG)?%&U[B=%6T:H3A M, I<-X2"\ B3&-(:.##R'7BV,.![PBB=W[7/]G\#O :<4$M+V@$-OCJ=X.K M82U9 VSDY7\>*;T"^*:P&=A*UN";R%3:PEC4,+):XK]9,H^TT.BTCKI'F,XX MTM+DP#;2NV-@,,FO;V\:=[^+DA@%#H=.@N7N,G8]F/B<2/H,8P=F"BG)#&,:]C#I&3S#E!^9Z9108P0IG.AJ*RIA/_"T80@G"IW$'9Q>87X^ M\G9=JCJKC,EG7#3_^9"NN;L,(NIPEC H@B11!2$PQ&Y$(?/_?^[>=;EQ7$L7 M?!5$S,PYM2.,,[R )-#]RWFKSHBLM",K]^[HJ1\.7)T\+4MN4LHJ]],?@*0D MRI(H )I[HGHWN6T26"M#^3'A85UR6E*E4 QM0KE'9QE=F]E(RCH1+S9_@", ML.!NZ7"8 :^SWV1Q,YJ)B_0.:RQ=[5O34 MXXIRL3%9!5T^9REKD\GY8?5$R^5#ED>YY#F#4D2YY@")(!$(PZPH!,H2GDE, MG&IX7IAP;G30EQ?L!;YITH?!'ZW0EI:Y->AV'_>04([M";X.1??"G);0A"K% M>6FZ:8MO6BI_5&[3]CX_JOE0UGRQJC>5J?'>"V/_)A?FP*:)LVJBV-_UHMA[ MF]9$9!0Q6FCJT?RC-P(<$I4I;9Q@(HJ8*)8Z,=&5\LR-J)K84\B.DE3R+EIY<5%+9_86#\ K'?M=),2HZ!H'O-G:&&O;8O<_UY^4&R MM8E7_:^-MA@_+^MUU?C=ZO>T_J%_;_YC_O:3+LQO_[ZL)%V4_RV%_MNW[L=? M-=O7YN1+]EYMBE.]Z\MRF*8LTORK"*0HBR##,DY$H5B2%T[-+B80>FXDW=,9 ME$OP=;6$O]'J/^6ZB9'9?W1]FTB/N/QVS#ZW11V9_E^MIU&XC<5O5 8]G6^ M4;?Y8_-#3_$;L%>]N6"K/&BT![^T^O]MI(_)E$L6O _WB"*_44_O\1?A?'_P M">;V^\#IKV99WZFN&52Y?&S[FKSN_).*#*4Q8E!%*(,HDP02DWE*Y&GZ++DA%8AP+2>=E#+=@'A->HYW>T9\;5@M_VNCW[^//_7_ M;!._,D9(EF9F^>Z%!(V4CA%?)X&T MHY:KX1G;A? *F1&.1@R+M<=W7E MROH_MV^^DHE*60*C5)F43Y%#RO,8"E%07HA,B<2M#8 1V M3..^@+,=,01$;V2*& !N!+:PQ"54%OB%V:9-"K=3_2A'W/(VGUP<#5CR>2DV MO'$HW^OGHGO(]5ZF2+0M 97*$H@X*B")F(1IS+.$,T1B9.6/&YYF;AQBY 1[ M08&1U"6)Y"R(4/EZ=R\X"Y9)H$P*PB0)'G1XLQZ2:2S ,Y].< MO7O"5)I+&AQFT5R\^MICCKL_EU+L E)-CZ2'5$B):,IAFDL%D=Y%09H3 K,H MQ7$:)Y% 5N4T;":;&RE^W1ATC3>B;6@&GO7(/YI#2>\N9X-@NQX&7 ?A9$Y\ MT,AY SI)M\W/QO"UGT.9FSMA&V M2$>ZAMH-[0>>=N-SI-#1'N?X"M^O.-=[I=^U/==8![MF>(*I+-6BPUQ$5'_ M"PQI*AC,N8RC/&(%(4[-P,[,,[)E'Q33BXI&21PE M0E!(<2Q-LGP.,4LD3! J.$&)_G2[G9O8SSTWTMAULVID!UIXT$D/]N)?%:/N MLC"6YS#CP#WVZ4Q(I#W::3AC%JRGAOW,$S?6<(;DN+N&^Q >KMNFP,!JYS=C M2803G%&(.>(02<(@5C2#0G*A"(E$)(2UO_9P[+G14UO$8N7DF7V%EH4[UA^# MD3ECI[Z/X_45#@[>5G\\)G*Q.N#BYF ]K?F@5_75+=.Y4D_+>N _/7.)IX5E M\D+:#O(?-.LM'^]E5:Y$ZTKY*O]L_E0_,"ICGLI"LY-2IDR)@CB*!,Q$5E"9 ML3A.F)-Q937MW(C+2-64CU@IH,W=I]42U&T#P*5+E6+9?$ MTJP*#O38%E73JZ"5&+0B@U;FK;]5FU/RS_:*@+Y7-Z!"F5%VDTYK03D!<60\ MN=WMW\19$\[W_L+]M,T)>W+LW[] ;9I%K,1G;DG*$PZMM\VN]KVK9O!ML\G;-K]4X MU:KYZ!H_F^*;-'D!?-V\_R:WK8G^KV7U4WXIE_+S6C[5#UE69&FD[8@X-O76 M.2.0T2*'*2.I2!#!$77JSFPSZ=Q>YP.9FWI^78)/(S;XPP@.&LD=W3-6*V!G M0(3&=61*" &IL^W@@E$@R\%JRDGM!A<07EL-3O?ZUQ=8F5!^;9GO7 MZ2AY@0N]TTD@3Y5FI;R@D!$3,)*@(I(\3X5PVN=8S3HW6KJM:U,<[]_D0C05 MA4U+;/<%>X&G2?YS "IC@?WG.R=/XK6$XE:QO?[-[ M&XS/;5?Y[Y5HQBQE?5^M^*U8/:^E^+2@C[;M,"X.-#=BZ00&WRLJFGU])W:7 M>;CB4FQ,?%JG@GW+C,N0#G--<#1'YAA'(,$?1OY G36L/3_L56E5/C9?UX_*_7YYLRV&<0=#B).DJ5$9F B,;Z(3S.4\Z M!L3A2.DJ8"8Z57(#R.U@Z:S^@V=+QW=-=[QT5N*#$Z;S5_G'U!Y7A_A$R^H? M=+&1^^I(#ZS($YX(#$6,"$0\1:;C!8)<$$8BH7%DD5N)!NNYYT=UOZV6\@4\ M-7$'0&V6PK6=K37LL8I3C!F!12[TMCET^F9)

    :Z"0$C8B>W' "2-L#PFO@&?TXL(?,3=/Q>002. ]!L-.^ MHPDF/ML[I^#Q2=[9*]T]Y;>/C^N/564JYGY=K?]#KC](TQJP7)H&KHZ]HVW& MFMM[K66NFGZU0$NN-X.K37U0O+O)-]"J@+TN]CYS*W ON\U#XSHR(7A &KBP MJBMH7FYTJPDF\Z2[J-MWICO=YV<_= =\R\?.WU5OO:!2,"8Y@GFF+0D4Y\:< M,-N/#!<8<\J9JR/JS$SSDB3*E40,ZEV; MYE=)"XBC)((9BU%>Y+%(]79MV7RS->O;=Y*REL#J72#MNW DQXA.#%G7_P+H M5@U'UG!8 ))(Q;%0,"$BU?MEC"!-,(>YC!,<2Z005P_/;1C_6MOU;X)_QT6O MQ1@/_FVG6+H&3#Z6RZ5AJ)4"K02C+48B(JHR@6 1905$/&&01"K79HB,98$( M8QQWB_%1#_+F2[$58I*%D$LQP1+8?5C' 77D;^VG ME6MYI]2'C?R^:G[SVTJ4JN1=U @K2)2R#"*54_38"R0_3:6&A/%-@6%'6WN#DC4L00Z8VVWMN1 B89%2A-HQQ+)Y_;R5GF]M%M MA#0;A;:6@'\:Y6E,[?8'5R,U,FG[@.0>CC4$0JC0JY-S3!MF-:3F44C5X,7N MAZ3:ZG]<+:4V]E<_9?72D,O'O\R!EN::CTN]I6OK;-\^K6W/2AV&G-N[WXD. MMK)O[;Q.?// ]Q30>]\GT^#)_M34!>W+AZ1V@NLPS MV3FJA_+]XU2?VST\!<9Q+>6AZ?.EI*Q; Q4Q2-(56)@)*Q-.,\%S2V]Q>XSS\W$OO^0U:2&@D=MDD>L%ML M2<<%HO:-F"0FJQ"0D*T\C?A4N/HT^1ALL@.FPF@H(Y MT=[A>E#==@G6& UN"BZ/,MT>P%JC Y/?_B[_HGQM_O"=ZF=A=%E$IA)@W90. M9F;V>_K21*CN>A?Q+!8YCTW!7THA8HI#@@NL?\HB@B.%(F7UX0LCSMP^C(VD ML!$5=+*"VZK2EUS72>K*1;/;'4RW%"-_#]I5>'?-*GA5 ;P>O(#E :\09O*Z M@=<#=ZJ@8(!1W6NE?URNC6N&_O59Z!%WD09M/]@'J:(BCT0.$Z8-6I0AO6/ MB$)",\8B%6MRM:JK<'&FN1%C*RS0TH)#<4$KKWTY]6& AYDN*&PCDY@W8DX5 MUZW0\"J_/CSR9+78K13L%V:WN\$S\W']0YK4RJ>R::1;=TG_IF$"P4D,&:8$ MHCRF$"/&(=?VE-3&%A; M T3$#"H:9S@V66"192G14\//SY&UE:YT3:T[0"W6\!0(81CEF$.$DP*R*.60 MI7G&DY@6%&FZ7*WI8ES,]E.,&)9@Y@!A<+-C1%\T1N;!G5BF%57 Y*A3Z@;K M*=P;>N)&PL=*'7+> V9[;>L P^F%L<_3Z?DAYCY/55XH&.R[= MCCOQ&>@K=8X/-E]?X/8&UM7ZX9OQ:]W^5=8/7*2L( 6!:2+TAQ&I7)L3VJ;0 M+Y_$/(U()*WB, Y&G=NVP?0[+^NUWI8MP&^]Y+(_C+"66X=#V(;?06\PQG9R M^N%@_4J>U'OH==0W]%Y%_:_]:W@XUB2OX$GQMZ_?Z3_Z??RZ7/G??TBY_K)J MG07=%E3OVYDB:0QEHG?S*(LCR$RO1))C(@H1RR11+OOZ\U/-[27=%A!H1 5; M63TW^ ,(VWT^P^ V\OOL"YGS-_8R&H$^N@,33?H5OJSPZ\^RQ1W>AZ_/JYHN M?JU6F^?Z\Y(O-J:9S.GV1_LSC'UQ0)'1/%.(05F8EO5"%) FF:84&2E"6)0P M916U'TJ@N1%/D#YJURV1'2=-"?S(S+55!;2ZW("=-N!L8[:]1H%+/8;&-]R) M['7B3'TF&P2\$Z>R8<;U/9?]O-0D1/FZ_"D_T#7=EA]2# G.4PY5P2.(S-DL MD4D!.48BI8)3'EL=P%R::&YLV9TQ]H0%1MJ+)8CR9@2<^CQU6[_@X]L+UWL88[4H3:[ZY4]_D3ZDIZ+NIWO0@TA@G'%.8 MSXJK9;'R3Z[)UO=VQ1=G. M\L CBB*B"ACG3!L4%&GVR"($69&P/,\33GCNPAYG9YH;=32"@FHG*5CM1'4L M'GD66SO&"(+8R'31@K47$MQ=!LN]^N,E($(5>SP[S[2U'2^I>U3*\>(-[O5A MFM/!)KSTQVJA;_FV7CJ4@CE]]]S>]/8$M">F>9 WU=*YO,L9L(9?\S XC?Q^ M^T+D5)UE& 6O0BQGAIRLYLJP2OWR*A>N]/NLWU';WKP%PBF-F8 R+CA$ M.4:0Y&D""QE+P0E.8Y*Z?,H/1I_;2]T)IS_@C9'D]LD^Q,WN,^V-QLBO[A:( M\&T13FH99T(S5\NFJ%M# ?7=9EVOZ=*X%!^2 M0H@"Q00F<99!5$0YQ#QG$"<"Q[P0A]QYJEJ1VW*#-^V'J 8] ML5T=?(.(V[KY0N$XC;//&T(/IY\-,E>X_@:'G]@!:*/JL1O0ZBZ/GG?B?W]? MW1[*90\?W'NX,F;#?@TVJU7J[6EA_](=PN MF^X!(!M[;VZ)UAB=ZH;!\6M.=V;,Z?K1#2MUT(+NPJ5^5GW7:ZD+'(I(ED<< MQU 4C8,N22'."@P5*8HTSUG!W=S[!Z//[]I=TF=NW?])* M?-F5"V<"YP4I,JA$%$.$\P0R62!(LRS!42(263BUK[]>I-E10J]0Q4$OUGZ= M!/8"3A:T,)I=4>(]P );DM"DRS8V<_6*6EQ>L7>^*^9.>\% #L65UPLT+<$& M _"(E<.-[$?EGVA9_8,N-O+=R^['?RMEI0?Z\?)%_M2XF@0,E5-""\&A,,DK M2'(%:92FD!*2)CACA$Q'YLMKX'0F03=T A&=Y:23DID;$*\)R_%N]URY]ZMEO5J4HB'"AN&Z74U" MBI@)R6"6H@RB2!004Q)!2?-(1#(B4EI9C$.3S(UP#N1L[0+''>(@I,.\$@JH MD5G$"R.G'+M+(%R1::WC"F,8JSM#TICR)),C("T0KI9F]8(&UG:X1%;V2&V H+MM*"7_I(=@*?+XGL;&O8HQ/(SK"8 M<%(;PQZ U_:%PYWNITA=$G9C4UN>'/5NF9MQT(GV+_:G07W]+Y\ >:H^\LO< M215L?W!&4Z\CG/XXDQW;G!"^?U1SZL^>O33W=;9NE^)]DP[V*)>\E+U$L%U! M6ZEHEF9)!FED"F=))2%I2L1G4JF4QY0EW*G'ILOL@[B;";V0E6U7 MP,]+\54_EZU^>JF'I-\;^+ZJY?W*R$? MDJ)(1"YB2#C#$,4B,66^.8RDPKC@*"'(ZE3#S#>@D5K###K) M@1'=/<]\"/=AKA@!S9%)(P207AGH%O!@6RIY*2[>Y[8KDTKK+ M=-\9UX2H@J8L-KT5!41%H2"50D N",XCHC*E"C=7Y=[ 0$M!'7TBTQ MC*7=1N5J?$:FAU:^FVT1BE'V'8,8A,P?/9IC^MS1S!L]>['G.\^YX8]: M&RJR_&DRU'^M5O5VD@=:I"1!)(=8\%R__ 1#FN0,JI@6!1*8B,RI]]+P=',S M*+;2@FHGKB,+#*-K20?!,!N;%[9P[26] 4RJ527![6*Q^K.I-JB,!5%)49J2 M@_6>1@)RAQ5@H4AD>+)IV<1*\2-:L;LK3/^1+[N RH3'N4*YA!%-4XA0G$)2 M) DL,.8R*](BRYU:.)^=:6ZLZDYR?$-OFDR?%/IK5XXU3!^-?[9P](D39DZJ=IPR<_JR,%_V3YOUII*_E*_!+ M*ZIQV:?@M]5R_<.VOWF M?&S&\9!?&+#X@:L5WJ_ NYI*6[ 3GI35*^5'Q@% MQC,XW$$'>5??5ZF>I07A@N$BR M/$)04:2W1057D!!-E2214<)9$>&4N9WAG)YH;LS7G3ETPO9.&[8"NQ[9G,'7 M]JSF>M2F.:3Q ,SC:&88C2O.9,X,//%AS+!ZQZ$(^C!SC(OWR%SB M"?4(E4C\(/0*+'&<:K)@$S\(^@$HGB/X)+=M3)GT9UJM7TQ\2Q.)'<4YXCE2 M4(B4081R4\=<8HC3-(YRGA#,KV\\EI)OTRW2_%EM7S\4OZ4HCV/;HOJRU0BRA2'.<9ZVY*@#&(:49BG3)G8 M>)HIJVC3,.+,C2*VVAA70E>X1G]"GU>5B?@%GY=J53UU45:FGD9WA5?K@RO7 MT=)_/-GJC.UN[BW,5A5@WDFP50;LM&F"[XT^L%$(=(V_@O=9" -N*+_V=<), MZP8/ MR1USS,J'ZL_%6NW]/Z1[/#%%*\>_E[+<7G9=>R:OEX:QK4E.M2UKL8 M,YIE-&620*$2;7X5*8>DB(R;/BU$"!OU!#,24'@),RH[^ M +UFQ"M&\@Q27*Y+42XVIAE7=XBI!__XEVGF)X6A8[/CW:R[?CO;7.M[635; MWB^[H!BA,B*I9%"FI@8G1RFD DN8*YH7A40(2Z>#QU""S[>L%]HJ!K6:M MB=33S=A/NVH$6KW6671%8%.P);>CX+=8R)&)>=(U=(_1# QXJ&C.4&)-&_<9 M&,RC"-'0XU_OHF@J:-P;_\?WBBYK8]2MEO6[EX._-#O:@N)UT[](6LMMD,M#$N-4 MIE2;Q;G*($JI@)BF%'(BQ MD1$\=T(ZQMR=AC53+!.QC*&@.8)(F32'*),PID4FA(A0@IWJQER!YX3?EQ& MM/L<7 _/R'R_=X@T$MYL*V:?!\D]KG 0@U Q@Z<%#1HUB_X:O]BTB= M[4\51T46)R*':9P5$.E7W73TUI8H)R:4#U$1.]>,^F?I!]9UL:K;+E9U(^X- M6/7*D?Q2+KO?.T8W7]$3+#22HQ^A'[<"NPG;"\P%D8!UG=ZV*YB+TJ>J-@7N M"+8=^O-2R*=EJ4K>[*1_W5!M"*ZE[/I;1CA1>9IF,#?)DBC7.UE2%!CR.$%% MI%0NF%,'H>'IYD8HKZ0%MX^5;%H*N)''!8SMZ",<L;S+C4FX^*M^^(W6:Y/5L-"_Z2K%?).U-"7M=^O?/>YQ0?(" M<03C&&%HSC\@$Y1!D:,DI5D21\S*.>8X[]RXY;?WWV[M:,05X&$^&1&VD8FE M%1H<2 W^!WUZ_E>P%=Z%;*["6*SXQORSN>@ML#X08":87\_KGH"U!&]N;E@[ M(FG4,+?K<)-0N*>.6R[WO3V$X^[STS,M*S.X*:/RD!&:)(1',$Z%Z2B 4XBY MYG1:)"A+BX2@3/C[F0XGFQM][Z6[QM/T"M!(9B+)D(1(:9,;86PV[RB!2N_@ M"QZ++$WPUA\Z$:2'#M%_1E!]G'C^S][4KKR]I$UIH[$\>JIL#[6'WUMOC4=^04T/[7#[ MW)-:>F6>[4>9+*GL2/!^OMCQ'SWC]'8=S.OOJULA2F,+T85)0?N\?$^?RVT2 M&GO=(;+)PS?QT_H=>/JLM5F:6)-[O9KU-_E?F[(NU_)W6?TLN;R75;D2IK#R MX[*9X"%/J(I(+F">4]A1V#^M[F^; S.N:_ZB.SY>W]Y_\121%#-EY3IX8SWF]@'M-[+O?S,!/6R?7O>N MZR)F #6(W(#G/2;@T8 ":(?*#5@WN("% 69[P YDAXVI9/53HW,#GG;X.#A? MW_!AM'"8_W,\8B-_K?O?Z]Y^W3UX -'N!V]W2UD( O[=/5 MH@*VL(#O*_"/YNGZ[9_LZ7(X*OCG>,HF.GKXIWG:W$XWWGZ-!T]+WE"\Z4Y? MWGX-#DYS9B#.%?583^1@FE3-3XO5GTVQ,B/M@\0)CZE(H,K2 B(A8TB5I#!E MD40BRD1"4^?RJS8SS\U":PN +E=+R$T& M2O2^:3/#C>!@)WG@^JDN8(4LEVHU[_3545W@.%D,U6D SSR^XT!IE>-81(7& MFA&((H8@BQ"!&8I1EJL")3QZ>&ZVVUJ(:FW'2U=%]KZ>;;SWYYU\+)=-M6=& M%XUYY!T9?8PLRS"7%$LH8JRYGBJD]_9"0))0G,J8"Y;+#MF/2\MS[ "X;N<: M#]6/;9#Y")#:,?F/$0P6'-U9IS[ALQOW[LES7][__ MO>[.9U.$M3&GK3F)(ZY-NEP3J,PSR)CB-(\)(HF]"^_"9'.SXOH;R[9D02,P M^,6(;/FV6X%LX9H*"-W89^.#J/E$;%Z"S\'W$A#&B1PDG@^AF[O"$I9!G\*E M,:;;^%MJ<[ [M[WGZF2^>UK=58W!*_Y!%QNYK67Q$!.!<"0DI#&.3)PEA3A* M,$19E@J>%9PHY%9>S6)6EP=^HN:H!^E]S[0"/XW C9TE3"AL59O3B];F\L_O M.[L,=D988&A'IN3#;#\ML*GFWXH,&IGW57E&R?N[!%'X]+^S,[Y5%N E" :2 M 2_>ZLE)"UK7=ZJ9XL/*-")YR)(XI:EBD!7*4%!10*;WM_ M5L&CM_W\E4'+NWY>FK/[ Q_< V.YR/)8;^EXED*]GTL@%2R#&189P5G"M.H/ M:U/FW^ZEMY_:B0QV HP8F"C7H/'7;]HBH_K_.IE[M5V#E'8]M0YVE#$.NB-3 MR852KCOA>Q[^T>NW#B V;MW64Q//H5[K ""6=5J'1G!O 6+:#]RIW^C_7E7; M6MC=Q[5(,R1D@2%6,8-(&:=^0;$F,"P(B_*(8:L&SX.SS,Y2Z:1SM%&&D1SF MG &VI6$/CU CDHNI7= ,Y/_9D+4$NJM?O"W+YXFLK;QKR6.K%>.G:PS<% MZ?8]LO(XC;)"YC#C31&YB$&<)A(228LD9C*+H\3-.V([]?Q<)/W*CCO9F^BI MU=*]*IKU$E@>3XT Z]BG5J?PO &=V%T]3!"T(YDO6L&K85Z8]HT*8-J!<;[F MI>7][D;)-TD7'VOCB[E=BEO.-T^;IH;F!_E<25XV9P$M5VKCZ%E6ZY?N2TN0 M5'E$-&O1#$%$$P)QE" G0RD:Q&ZPG[RGGHR\^I:F]\(+;A\?UQ^KJNG] M^+2V350_.\#<6*@G*-"25DT-#*#EU<;4:E._BDI_,@WR[!/=S\,X3$#!$!R9 M84*"YY0O?Q$57U MH/TBT"PC5&($4\43DZ,J(>$L@=Q4IB=2I&E*7.-8@RW!U-&LDZ.?4Y(6D9)0 MF@U9&JPZ6NCB_W,RD^_M=&#[)O\O3OY?K':K/66QM1+EX^ M2%,5H5P:/\TG6E9-H,LK_V,B69XP_9%,4&*:B3 ,&FC>G2&W]3:N>)5O\IUXT+L]6XU[/-C7:N7T([@IIT84:F MLB/(P9^M-J!3!_3U 4:A;OG&=#L'0S@035XOSZ2$&@R^U]0;;F#/F,!*BG+] MB?*&\6__*NL'1$B2\R*&298(B'@606QBA(C^D459'L?*J%?',_0!<.W>^T"0C4P Y] :H>F'!2"A#L,'9IKV_/NR MRD='WA:W^/'%=M_7A C3%"5YTVI04(B2K#!IWA%,LS3&.$$X*ZB+EZ8W]MP\ M,]_-'&"Q%]"-"/JHV;WXGEB,_*)_L0# ^94^H6J@5[@_\J2O[ F57K^BIR[Q M*>-(36!+\WZ_7RWK4LAM1P@NRY]2W"U[S5U_K4Q-?)$6F$4YA:PPSM4\QY!* M4Z)!$DXIXP63]CUXW.>?W:>>MB%>76HA[VL!JDX-H']>[Q6Y 8_54,'](.LT M3!03H#^VU= !W^4?'B@ OO6 _]X'_M?Q@7KKAKZ?TO15D7VI ML4:8M70_9!P'\5!'CH&EF_8 >,\!3G3H1_,/K-A#-=G=0X M$-D,^"5H[E[V/RRZN:=2A<\?OLF?[?+TC 4P/7W_GOYI"^Y4[_K MW]:J=;@WR5(?3(:NB?7+%.()41D43"&(L. 0)Y+ E DDF$PCEEM5S1Y'O+G1 M1J?=#=CI=]#3::]AZ\HP.H)6R>8PJZ?F#6@4!493K[C-P,^!G='T=JL[,NF] MS<(ZFUSCX!_(% LLW*0FVCC OC;=1IKEZDK?_6ZP]3=9R^JG%)]6U:?->E/) MSW6],2(^L"BC38 ]YS+6WPI,(5.)A)(6+"DP3C!U:C+N+,'_T;_*I\T3 M6&Y,&&,3L=/V[5NO ).@U&)KGM@\:Z-)_B4K7M;[L!ZP>O;(IW1?-#MB'W4I M1N;NPYKAG?C;#HI;!9H>W:T*8*O#*!7$W> +7T_<U^\UY3ZN3 !S%RIONPD>&&-N9*9E!3MAP5Y:ASWP$&(6.^) M8(V]/SZ#4\#, ELT_/;)0P-/MVNV4.]@#VUSO:\AM%Q7VKXR*8S;DJ&[7/*O M6I6V,M]#*G&2HDP:R\?4W^ Q-%7'(8Y9C!BA.5.9:]L3JYE='OYIZGIN78V@ MVNZ;EG)M3)M.8O"\JHQUXVK4/# ,PF"-PYM;I\@"&93^(];]PJ9]%]JE< MZLU;N7QL,P9,W8AW4F_@I8G@^M/LZ_1&K\T[_[*JZUM6-[3[0%*L$DD1E#C/ MH+;)!,2$1U#$!1("2\03IZ)_GG+,C2D[->BBB\+X%S>SS'F7%W M&H"]"C> -4J G1:- ZHK2V$4 7]L50EX/G EF(%,.U\I)C7UKH3JM>EW[7"^ MA\%ZF-*<%I@N-[?+YC^F-,]/NC#]%4[_MCGPDRI.B(ACF').($I8"@E7#.8J M)Q$I!!*%$U?ZBS(WNMQKTK:":F/1]0\]N3V/;+U7R_9X=HHU&/TH]GKX/0Y6 MKT4NV"&JMR 3'YA>"]CQX>C5([H[^?6F_-MF(>.(9?%M5=V*U;,6X-."/MJZ M^,^/,#=>,R46C:C R KC?N8-Z,2V]_4/ '?9TQ\&LY%YR (N\(>1.9##_S(H M7N[^@6$G<_9?5JWOZK>XVL]:,OM3TWRB^:+&24SRA&O[1S\)$,6X@#1))>1Z MEYB2).*<.G40[@\^MS>_<0,U+59\S)8#V.P,$5\P1GZEK7%PMA].*1S((C@8 M>M)O_"FE7G^U3U[C]WK>NN,9;^]/>.@#*%111E M&!)<8+U[X1FDLDBA$E%,HMAT '?*J7.8>VXO=R.[)WB;>;-:F]@:HVYQ( MH*1KC3"7%;$CAI%P'IDWMA#WQ0:?AN!T)A /8 +QB\O,D]*/!R2OV=#,,M:V[-A" MHWMDO;'S<,1:8!+,USHTU\3N5 NUCSVF-C?Y48DVC)Y62[FF57_HIEC?KNO. M+IUE6TKE01*J$J(P%$1J"R?19@XM9 3C/"URG"J5)$Y.%2\IYD<]M=3XMR<9 M0DN[6#6TOPV>!.9QZ)=R;3NO@-]N/[MQDM^:V7'5Z"LQOC=W*_^)FJ%@W\>K M4P+LM0A';E>!&(CT_&28E RO@NDU25XWF"=Y-OE@ILB4B8,VL0"_RT?SRMS'![Y< EBUB$8I[S$TU++Q<5/N*0RW=XUA:EE0"%7F\MPTT]:KO*#L4>')2]=?G9S? M],Y[H(2H..40DQN<%+N_ MZ#U8GMW@.-[^ILO2WYZ8=4WJ :V;RA[ZD6DBVO_'_Q7GT;^FT0TP#VYS]0?) M^W^*FS\E-]J\J4T%AU)O],YW ;9;=3NJNF8E1Z:HP]S\1KJ;)O\^Y+;JG/[A MD^O;X=\J=_Y N8'4^,/K?)OP-9T]7^[^7$KQ=;5M[/G;KD5O6SV*I*G0NQ:( M"J[<2T4ZLQ@_J*&9-IGVVVU\U[$Q=FG>T8=G#/QJZKNC8E%?1V3"[Y2Q/,11?O:56] MZ%\U5FX7R?6 BU0J*@N84FKB05D.B8@(I"H6,E:*Q[%5_0/WJ>=&UTUN*=^+ M#F@KNV-W6'OH[&\(C+E M7'):0*P*#I$)DV-4$$@8PX3B*&=QY-;48Y0UF;2=Q]NOBJ7A/N+3/[:-OHL[ M:62_ =^V&&OYVSC>&]!VJ"HY^";%A@_657.WQ3VQ"V5VNTX_K87M"T[ MCD>!L./V(-O>:%VX8*_+^ZY%2)LFT?O+0X&13&*L(,Z%@ BG'!)N6E52G*8Q M3B+$T)8/OUO6%0LCF@=/?I\P#8OW6V7T^A]U?U[L%7&HQQ5H48?I=.HU>M,V M25NMP#:XN2=]OV=2MVQ?WG+9',JN3;]\$Y5IFVX9W=?3M,.&8]ZFCZ%--^N@J9-Z;&1JW(H)'9V 3?RR=I M.K#\]O7^,S#BZS]L](0WH-'#H9^!!:S#-#8"HB,SFRV8X(]&!6!T (T2H?H> MV,/EU_[ 8OSINB#8*WO0#,'A-D^/]FF#Z63ECY1G*3-E=BDU27\\B2 3Q*09 M,Q3AE" JF),SVW[NN5%1([JC3]0!:4MWZ#CXC>T)'6^C=@4PH=R<#C-/Z^%T MA^3(N>DQA&],:I-TTV;AF/9YJT7)7]K_W7^1XS27J?(Y CX$SXX_O"$9 M>Z_4R#5"+-!)A4.5>SL8>]J";J?4.BK9=O(B3X.!_Y!BLY!WZN-R7:Y?_KT4 M/%7W^4?);XT4VI;2:2EJM#)^7GY>B_%F*#5U\6E6R?%R^-YWO M3>.Y=R_MC[UO(<PM<;/ MFFN/GX1R"?9Z@TYQL-/:5D9*_K]#UH]ROHA49C@B N842HARHR)&\M,;ZL+0H1,XCAQ*AQX>IJY M;:';(IKE3DS 6SD][-UC2!T,WZN FL("!GL)P?L+&/F9PFL+UADY"<)BDC4"FA MH-X*$T@0YI")+(EPAHN<"B=OF[L,WF =$Y$\QG*-]*S$U%P4]:JU--H?=UOF)& M\RR)8<33#*)(,LB*6$+)&8OSJ$ARMXZEEO/.C3*_]2NAGFZ#[IU";KL4=BPX M L C,U\@;#TJ.3LA%:RFL]VL$U=W=H+BN,ZSV^TA>HD^X$1*%IM"\4H6$"%* M(.6FX%A,1(&I-NZ2R+\_Z/P(:-=TDFOQ;K9G'-RFUC#W7KJ7CY2PPPV]C M"$S&=K8L\W2B;Y^=%4PC%%!NH?WQ: MK/[LQ>'L#$Z6)3*.,@8Y(1PBEI@>=G$!":$BHT6:(DR=7"=V\\[M+>^+#43O M^$& MY:S3.C+?D7 ]]?5*:F.3RT9$\(MLA?S;#5A*QPW"!93M."@<=B-3 M3PM;7U+PN<.P$_9O@8.[+Z(2,I[[_&33AW!?5/QDU/;EN]S(1,CRH3WD_E0N M9/6>KN7CJGIY2"6/4X$3F"1I"E$A%<1"$JABJ81(LDQ2JY#L,^//C2Y:$4$C M(]@*:4<4YQ <9H8 N(Q,!6Z06+_\%Q0?V+?H.]L77?^P?[_/C3?)"WU!F>T; M?.DRS_ZU>J5_T%K>L47YV&8B"XY(C$4!)H8ZW$"0[LO^G7(C/SJ;H4#>^D"=I0]JWFH!K+'$TS;+_:L M@D?M8<]?>85#?\/7FTI_WM^O:I.+97H15C_;NO%*,)K+A,%")#%$,4*0%*F$ M5*594L@D+E)W#__Y^>;VLA^(VW6>]JC1?PEEAT. ,-A-<2K@!)O?^ M& S,-OT)PF753QXI6-SF?L:@MPCW?V^N_DZZ+^G-MU'.(G>59@C[G87TLN\M M!% CO]->&#GYX2Z!X.6,.SOH9!ZY2VKUW7(7K_6H,ZF_]OO.61\D6W?MM4I9 MFR# U6;;7^N#U._:4[DTUWVB9=7T-[A=+C=TT1I@#X@6%"62PX1$>L.?40YI MD2$82YRG*"LP)E9Y7('EFAN=_'U92;HPS4--?L;NYT=:+FOSF\6JMG8-AE[" M82YZPX49?Z?1;_MGU )[O4"GV*Y#8%\U8'1K6X^"5CNG75SH%72H]ODV*SE1 MH=!)5]2MU&AXW >KE :<;KH"I^$Q.JB-.L+P/C6>*TW\M(L?)41RDA<84AX) MB%+]$U.IWA\7BI.XR"6."OL"S[V1Y_;]:V5S*6CO&A:>QM_6C M=Y?/C2L:[Z_^N[U'?*OW90>XA\HC,\1%;9U8S%']2NB^7_KU MG_S4$"L:P9CA(D41%:BP:K)@ M,]G<7K7#I/6JR5A_WHGKYJ\>!-G.>QT*NK']7@>HM7G^]Y=18/OOGJ8WNU_N&\OKRUMU MP5Y?<*#P#6A5!JW.X0AZ@G4)Q.]C2CKIYV$"R%]_7::8TC/ 6C\9TX8'$/",D0["0J8((B1ABKB)MWBI.4FWC(KT3 ML9,6U$;CM7#P3GV%G6'Y.\MDAV=[H4-&+QM!4JH0.[A MR:8-ZK92_"C V^ZN:TM=_[I:B3_+Q:)7HR]+1(RR!"HL,HAXH6DE4@F,HX)@ ME+",B,RG1M^)N>9&+/U:?%MA?K!YV\)9Y#<;=;UFBY%N7Q\D(+$"5$2DCC6.]XD32 E)OE;I$6J M\CC+"K?TK^'YYL8R2GK2CFN6G(!E1+ND/]N; M&R8G5+>Q3$[=YD9&,KT F%[LRQ]&7M ([!B'/@RU':L$ W!D3KD".V=*L<(D M$*$,SS4IG5BI_9I,[&[R]/#+M2F!M)8;WJ8A!G-B9 \*?(P+\Y"=RHX.MWM5\72ASX*UF.[Q#7,37VM^S[,?]_"O!,> MW%Z&V=V[[8Q8*&>U_<33^IZ= 3ER);N/X$=JG3=Z^;BO^7^[6*S^U+^4GU;5 M>VV7E>LO3=#Y_EN>9C)E/&:0QQ&'2'$$6< -V:C1'C*TBP&ARA9WEM61VW#?V0HS,@J.L@3,=7@-B(&+T$F%2BKP& MI-=D>=58/I'9)P=OO)5[]RQ*25(4/(*LX<@\TAR9ZJTEB5.4(<0Y%MP^8MMB MQKD1XNV2+E[JLNEY=ZF+L4Y=<^6J#A[@WNNR\>J,C5JM&VX^BFKE[9( MBF7BRZE[Y_9F:QE72[G:U(L7*7=G!QPLAR<(77Z"3F#UWELNIJ#049K*?IK=EM5)H#;4 9[V5]R M3U_,KYI5_HW^53YMGCX^/2]6+U+^OF$UK\KGYNZN-$4F$9&*P)1Q;10P+B'+ MJ;5?1)C'(NNC-V&MJL0VYJR@?UVG:TN2-Z!3%VSU!7V%W2S^1'O-W]X M*&+!8B0H+ A1$$4QAU1B!9.\D$F282:+Z&$I'_6737QW"#B\-+$539"6)HZF M'X\J]A*:!+GE:@F?]J$N]2ZFPC'B\.(JQ(F0D3E"C/,T@0A%!:0D1U"RB+"< MY+GB;O&>0>"?,N*S$QBL5X"V(H-5U_EG)W1HU.W\-D&Q'-G=E8 MJ/KGA6R,S:70]F:U+O^[W3MF*8T)SCB,26I<0HF$&,4"RI1&4E&>*YE[6(4V M<\_4,/S[DBZ:AUKO#45/#4"7 M">_&Z48K4:=NP2#-QIB*8O[@W8"=S@>6N# MIS/CN 4B'RLIIR4AUQ >$U)3O=Z!IG3]4:;0ZJ+]%PM]0Y5RH(+34,82)((8J'G[)B*^OZ+T>3N+P7_:G&?#WV[J65 N\V=;F4 U$9 MMFC:<."/4?)DS^,0*H3[>()I0[7/*G@4DGW^2O=#Z<;Y M]?WI\=]6?_ZV?"[?+VNA_[T+N[(\GAX>96X[D$9:\+U\*I>/-T#+#'[[>O]Y M5X%GH#B$*WR7CZK#(3?RNWX1M, OOCTX7F?7%X:>[!3;3L7^>;;E'5<&K-VI M77F@^U5;-FC;8_U!I&G.&$H@2:B$**("^L6U#"V!G.H2&=>P#XNL1]0^#LX H=$3WTI2=/:C]5"WU&W=")=,QJF$6,K,%*&/("E0"C,L59''64ZH M4U;K\11.=#-!]FK;3[#NR?D_@6PD=:67(S I4QE+:0:CQ'3(,H4]<<(3&*>$ M91&-E%;T09N:Y4KHU:[64T#Z>KKQ@'TG'\OETF1J,;HPP>!7XXEC%5-%,@T@ MI>TY+F%ZTRP0BU6J<7UW[_76_]J_V@,#3_)J7U9L M^VI;7.D3QTU-/;FVUM,NG.B;-@?JM7%GW#X^5LVA5A?2F>:)R!+$8!%C_5D7 ML8+:'>B\]V(GO$0/M!K5+7/-HD$\5JQP4>L?(8R_P MAJ.)W8:<,$+82]?#J%^_(?S[:[0=;F_K6JY-*B]EB9 *YDDJ($HB!;'@"BJ6 M$"%$BF/J%,GU>H*YT?^7U?(1+IK6%;01T+TYQ0%^E@>A5Z R,DDW@'QI +D= M!L2K7\,IK0,V63@8?O+."*>4.]7.X.1U?B_PMH3PYZ=G6E;F2V+R_A\BFHF4 MYC&D5"80X2*')(YRF/.TB#.2QUG$/2*M3L]F]?2^0=#]3DBW=_H,I (QD18D MAC%A!40299#D5,$TBV24TR(SP6L.S'@%EA/RXZYN>!D633N>O!ZCD=ER*^ - MV(L8J,Z)'0:!N//,)),RZ+"BKWGTPM77MEQH$JO>#>1>U>]>]M?TDZ_:O'Z& ML<)$4BA)%ND=ML@@CE(%>2;RI* <2^54 SF89',CF'Z3 IN,RGHPI?)BD8&1 ME]W2S?\6BSGVYOYH'=_9KN,[CW6\HC=%(,R#=[*X5JXWZGL1",[S73)"3>#= MO+8Y^#<]ZM]OZO7J259?2LK*1;E^^29_RN5&FG(PHS>;:3T<#".3VCZDS\=K: 6U'7,%@V\:OMJ*"W[9 M"OPW4Q&AD[E78#K@!MH%HD#49#7EI(3D L)K&G*ZUX]\OLEZ7952]O MT_CC!G1.Y":QT:2>=_]V(Z*+L-N14$@P1R:@'HY-9P\#7_-#3]QPU&,+3"#: MN3C=I)1CJ_QKNK&^[VH?GSEC???25$5MW3>I$CAA60H+9LP;FAN6(7KWQH7$ M,4$%1YYM58_FFAO!'/AOFC*][ 6TA7NO]:D=P>SL);L&O"G]7FZX7>/#.H=( M>*_4T4QOY6^X\8' M,Q\/S24TPKECSLXTM>_EDLHG'"T7;_%I::-!BN_?W77EG"(7PE@G[NIR4];"#R^E+O)VYJR=I(B(^ M:4&,'[E<;LKEX[[,QCNI5I5LK_M._Y+UQ[\T_^DYRB6M7IJD!!.J9CS0JX6> MZ?'STL2?UNN'.)%5'3@XM%#!)6")BD D$U1%E=:+%"3)? MF_Y2K-$&E(TZ8&WT<78?C[:XUE[G.2S9^,YJLT*_&#W_!LP;#?:J]JL$=2O: M7=^HV]0Y[*D'MOH%]6N/O0CAW.&C23JU%WULR$\XWT>?TN\;TR:D[G,4S"GE M:K/^)JDH%R\?I)[D28N@M]V?:%G]@RXVV\P;56"$-/Y0F[VIWBLCWNZ5,Y;G M+$MP1*E5^MG5DLS-;&XK([RJ#]Z61O N$^Z_3';?@DG 'YGI6QWZ:5%_MEJ M3@W0UP,814"CR4VP5*E@< ;B;'\Y)F7DJ^%ZS;?7#WA=^N[[U=-36=>&V.]E M9;P2]%'_[==*?P',9?5]57+Y( G*I4@I+%B:0Z04APS',8QY@G.%\QQ%5BT7 M_::?&V^^2N+E>R5NP/-.#7/%HU$$U$83\&Q4\*_K\H^0?RGK78*XY7$%89$(*"J.($HCRK("XB!2,$JQ71@B: M":>C[_-3S>WCL9<4]$7U.KX: -C.F@X#V\B\[XF8>^K;13!"I;^=GVC:%+B+ M"A^EP5V^P\,>[9P+R\O"' MD1]T"KBN M^AT8APBA#+-Q5F2)E )0]/"-%4S^WA..=,;^B+B1%C3],7IYD;2 M[8G9ZJ>L0!J##_3%\G3,$EP+)@X*V<@\O$];[ D+C+1 B^L3KG890@<&#@KE M1/P[#&D@RK4&9I!P+X\R'=U::W1 MO9W79&&N.'K3:7-[]NE^"87)IGXEJ_+ MG\UIX(>RYHM5O:GDOB]2Q+',&5,0Y['0!!QAR$@:PTAPEA0R03FBSJF)CD+, MC98/= #O]1?QT35NP6LM[)RL8R,\,HL?@FLR&#L%P%X#L%=AI"9VUX 8,M_1 M583IK9UFM7^[U\[?64YK@B&?S4>UEY624)4R8A 8< M4X@4H1#'F$ 9L31)N,H3N_X!#G/.C>VV(M^ 1NCFE=R)?>.?#&4#OQWC!09U M9(+KU:#]KG]?FIBKSM4;^(3) 9= G&4SXZ04Y0#!:T9RN=67@*22525%6P^[ MV5F;;;44#XKCA,1%#-.JV@(:GE$AC!&.7L1!,3 MR26%C_GCXAU^M+$+S?R\?-ZLZR_RIUPDG3^"%E@(7%"8*AA:*9)^<%"Y=<$87.+AU/]ZVII>GUN]!*]--1S]]QDTG1/=2)D$>6"PXAS M!%&B8N?Z76W M_B&K79,B\7GY4];KIDKSSO[*<*IP#'D:,=-'0]M?A5>3%, ,VS*W\4UL+/;0B([,@VWH'996R^@)^H(MILM+H$,N(O3 M36K%V2K_VI2SOL^-=H0L'SXNUWK1/S[)ZK%4^ MH:R7VD-TW2'8Z^X0I@NO_F"LRY_R3BEI3M7NF^;R#WF4<2Y(!+DB"J)"))"9 M(@5"%L^O" M=P/ME$PRZ7YMMWJ"^QFLK4M@[YNN\51QP&^SUHZAPZ.MQ'"D,I6D3N?.G9L95]?*I7);U#RE,H]+Z01:Y M3 PWY44:F;[JN?X&\P1F*%:$4XZRU,H/,3S-W$AI*QQX--*Y5KD\":0=PUP/ MS\B$LA/P!NQ :F2\:8NTA"P3.01%L J/)R>9N#CCD*+'=14'K_:L]IW<__[W MSL?.&8X5DPAF,4LA2@72%@I2,!4D-;W8N?BCE3M M^\0EH5HW-L>Z/U8+/4;=5C3LE[.@0N4R2BCD""&(I-*;IXRFD$NB8OU/E21. M&4N.\\^-OLXT)>SK\#]!5R+4I]:([S+9FCJC@3^Z#10<]P#-(:W0&ZU/Y/#L M;]PRT@J:R]TC[89QHT+)Q<-7_:R)CW_MG5$EUS-\6N[3 RTXS6J@N3%8(S#8 M20RV(NO-Q6JU7J[6EF4U[% Q"YQ Z030P.FP'J?C&"[VU&(W M^B1$XJ3HEC;<;G(/%OG06;^?RIK31>NI_J1_5S]$BT,AJ'RYR'M1AK@@&U<@5A8;4O)67E0AL?W6%6_6$COVJ" M^?ZG7/R4OZV6ZQ_U TH8B9,\A4*9\+&(8DB:,CLXY5DF$6:)4]MI7T'F1AOZ M*4-NFQ_O);#;!4T![,@DTZIP X[*,.[TN 'K%6 2W--2W(#_D+0"=\L -69" M@1AH5^0MQJ3;HVO!>KU/NGH\]PW3_<_GIBVN\P;IZ,:Y\9/&"_RLS7=:K:HG M4X2M5Q#E!C3"VV^)CG&ZO 6Z"J*1F>8$.FVO:A!\HW,6!J^-S?%HDVUDSBK2 MW[BE MZ4^K),I)D<"F3Y-'^.\;K.;EX. IA9HX M=/@-\#X.+'X+(3S#CI?K4I2+QO.\[P+X\2^^V @IVAZL3\^;]JV_4Q]IM=2[ M-=.SJ8V@?CD]0%.K37#!&"8,8IP2;6 Q 7&&8Q@1P7,A"4XSIY)5(\HZ-W.J M+VF_3Z=/6;TQE]C.6S63A1O9#O)<,_<0Z?'1#!56/:*DTX9BCP_Y4?CV!%.. M>[I@'+:?]-OU0!!/E!0IS%B60,0SK+\( D&5190EB:0QMMIH^PHP-W+7[TDQ MSFG"#O*PIP@^0,[Q],#H,/WQP6OT)CXVV$T_R^."U^#X'A,/';=O>I#O# MW=1Z[:*5%[XO85/*)*,Q)'B$LBIB)R(7&!N::&V/]OJ^XVOC- M-TL-*5C_D-MXQ<]+T\+5&#Y&"3=R&\+BY]0(7[G' I= M9#0TTZ2\8Z'R:XJQN<7]L/%[)?3B?EZ*[^5Z8541_OBNN=% (Y3].>(K""X? M(OIK/_*K^[VBPM@8O=?55$T5Y<]2;.@"# /C=()X&@.OX\-70TUV=GA:A?[! MX9DK/+_9)U/Y'V*EN(@E@RPB$419(2%6*84)58E,)"?Z"_[P4U9L9?W!/CF1 MRV/:GV[$#XTAM,XUSGN2.GZ63\-J^46^&JJW_1B;9/%#1HZ_P\-5^U*"'>EJU"1B=05G$5"@:)[ 0/-.6/$\@U@\+ M5 CQC,4YCR.K6E=G9YC;-[L5L,TR^C,8+!?5;U0*_U M\?B3OM%GU7O],I^_T-V0WIM9S8F#I2%]>-?<7LJ]=/]B;TZ_ N*R.>V/PB;SF>N<,\,>E^N7VXK2=^OA'R(4!['DA:0 M\DA 1*B$3!8%% 7'64$$S7.K/>SK@>?VXAG9@!$.&.GL,WX.P!I^\ZZ!8.RO MGYWV3ID\IU3U2MXY&&BR?)U3XO=3=$[^W;=F\ZT0>CGK^U6]IHO_KWQNGB9, MXY05+(4\CHUO.5>0Q@Q!PE*>%31B<8K<2C:?FF9N+V)7C;@3]0:TP@(MK>.; M.8#LY?'G;AN\Y!JQV6;!Z_V;-+5-G->/O:; M.3<,T')(.$Y-H^R;&,F< 4IXE3PRZ[>>=& M$/M&XUTQPMNF:OD?K;2.(5"VV-MM<$= =&0*\073O<^7&S2A>GY9SCIM_R\W M*(YZ@3G>[I-Q0Q?R3FV/OY[*NC9M<9I6R^43V^AWO#E=U[.:PUWZJ"]NBO69 M^^K[JN3&>)$I3G$"8QG%>M] 4D@1PE J4U*>252D5@G#@>29&XD9R9ITE[;U M)M]KU31-K@[TNC%%Y#O-S$V/1C=@"MO6X-EHYY+DZG7RN7%)-)UVRJI)%IULXQ_2,8TL,) M'==/,V&*1C!,#I,NP@WK9]R_#K_=ITX+)4B*< $Y$[G^0FI+GB1%#DF4ID6& M"JJH4R7DLS/-[=OW5:[!%_-F/9M69494-YO]/*1V5GH0H,;>VG8$Q'(.L< $1IC(N, )9YE5.\AS$\R-!3H9&W.W$],IB>DLD,,D$ *> MD=]]#V2L7_M+Z@^][?K>WINN_[5_R\\..\G+?4FI[3M]\3KOJL.K)VDZR3;& MQ!<#OK8R.L^19$@I*@FDDG.(LCB&1,0IQ!(C07.):.3DM1N<;6XO>2LLV$D+ MMN)ZNNN&H;;[_ <#<&0:N ([G^J_ES$)5^MW8*ZI*_M>5OM$'5^+FZXMR-FF MK9C*D:I(TD+(&+(HT012I)I $"]@DI(LQQ$5.;4R# ;FF!MMO"XSV>5H75&* M^%Q1A/,(@0 E./=COE$!SB.ESI??/+[4ST[X;=?7?)]U MVU3)>H@2S%,:2:AHKFU_F220I11#_=8G,4H3$G&GUFUG9YK;B[X7]" OOI'5 MT30XCZZ=61 $LY'?>S^XG*V!BU $L@3.SS.I%7!1W=<6P.4;W'T"O\M'PSB_ MRM5C19]_E)IW.JLVPRGEE.4PC[(F707I[S_3^PG.,35-W06Q.DD;G&5NQ-"7 MT'&O,(SF9>] $(Q&)@(W>)R\ Q?5O\)%<'[LR?P$%]7K.PLN7^QG"=Q7JV=9 MK5],/NGZ=BE,KO2SF>FK7#\H$FE#GYE\M#R'B"428JP4E+3@$O$\SGCDEIXV M-)W+0SU-DMI6VL;_);>BWH"E7+M9!(,H2T'R(I<1Q)P)B/(409Q(O;^*$D4S M(N)"J8?U:DT7TV*\G_*?'6$[LRL4;N/[9!LQ;YHR!JUO]N,>N:\#R#F;7S:0 M!++ !J>:U BS4?JU'69UCT?XTV%1D<]+;?#(>GW+>26;, I:9-'_Z>[->B/) MD731]_,K^':K@># %_HV#P=0;H7$S4P)F:H>G%L/ E28LA?R)AQF"(,4,TCP)&]2M: M#@PVM8U9(R# C80& 2U#P/:;#-=P>389%P1$>^AN/$!G$.CC$,*1HGBN@=(L M-$<3F]ZXFZ$^Q@NJT=3F)&)&]QF[G>]1S.H-V6S7F.IN%%J>G-!B/Y(._-G( MY_!(ID=[1UN!MA%&W0'TJ'C^X>]K:E>P.HBBX(XO5V1#5]LZJ3TGB-$X8! G M+(.(BAR2G&;RJQ\%FC02DEV(MI5L*Y#46-;_KUV'A> MW1>P6):X;L/'K-3UE3B-5O):]S4RKGW= \!0#>RV1T>MA=TC^WE-[+ZFYDP) M)6WXQU]K6@6%:S(EG#XU-5/U\1=?T_F&FT35MV#1;YZN@\&S52H% YHX&/$E MM*MLQ9=PUM5H? GM*ASS)72TL&3+7W-\*[YSO/BX49$AS='$ RX("QBA,.%% MJJ(W$,0HC"&+4\9S@<-,+WIC:*"I+<^23& E@/R?!>"EJ."E.7?\;;X$F__> MJ:AFP?GV'X:T]5U8ZSD2+A#TO;)K\)20H)(2-&(ZI(L? ,(5UWO7,.,2M0\H M>\&R/M3>ED:X#AN[%>_QYNG38O77P1&.A;J1*!*(19A E"H>X2(I8)C)W0!E M01J%J1F/[[Y\>ORY>YJKAK7%JXLX.I?;DK-_1^_JSN9[Y^N_M\5&'8T"UOQ4O3 M0[\6JE&<]7:4'*=V:D%B[\RW]CJN7]^GV(6+W]MXS'+$TI&8/\MMP7%!O]]7 M>'%#G^;\9_GH=_GG!\$%1U$10)*G&"+.*"R*@$)6<)XE19$*;D"=XEG:J5FC MO=@JNWQ?[/-1"@[P07*PEDW&* VK.^<:MR13FDG?+LWUI5X/[\%QT5>E-CC2 M&WR?V'LP1DE@#^_#WZ<$L(OW8J1BOX;SY*>XKZX0?X-BOH9XNBG>:SJH94!Y M7>_L.U^HL>Y7]_C7?\VW3ZI(L-QP?EJM.XIV1)%( A03*(@*941Y(7<=&8%9 M%G*YSTAB&M"')7\L>]4_>;251\OF%)7-N9#*G]V1TBNJ-3Q7S&RE1JJ$X))O MP::D9I$^XW:Q/X/C5>4S7-9J-@RHMIU'O0,-K],R4B!VI<(,2-'!D>PS,%"X MQ6%\]I4HNHK=MA5CW+CN*\&ZB/F^MC\[ _N-;]4Y[MUZ]7/..'OW^H?L__-R MS\5Y0[?SGV4BX -C6<9H%D.*\@ B1E-(F(A@0F-&<$CS* M,,DOTAS;RQ4;( M,U%$7V6II)=:=K4W^VVG%NA\^0\@&@VD9]:H8&8N#69%ST#ZP=JS250PE_<^ M=\W S#;&P,S1%S9/X,!A[5X)D#;PU%L*+>#(0T93'F>0Q2P A9QBF 6I(04E'%: M&%;.,Q5A>K=1/W;/SWC]JC9^!S+MS\O-=EUZQ!O0Z 3P%BAU0:DOD%XK!GLM M0:FF(7>YZ?3IV4"?4^+9$A[@G8'ZCFR/OL3[#.V:. %XX56T1=$5\;GI\.,R MH%N"S+W ZWY8[D)NE](27*J6/R]T)WQPNG@]; QS' M(8[3 &8)3B!".(-%P7*8Y9@&!25)4ABQ5)H-/S5+=R1]F>E_(K]YK52#>=#; MHOE#U[/=[ 767T3$=;@Y+-%J,/CH]5O-@6DK[FK1BZV!6Y8Q6NKP[_UNLUT] M\W6Y#2SY^]_+[9^4XR'(*>$1QE $!9)VK> 0HR*"$:%9E!5))D(CDGVM4:=G MSBJA ;:(G-3#6==N.4;/N[FJ@?M+"@P:B6=-K2S"Q4K:JIO%8O57>8TL_PG> M2P=D7A4XF(%:)9<6S !!9X9+9\R1[94!#)=FRN1A6YZ#+9XO.6O*!]2;_")' M>1ZE.4Q(I*IBI0(6 B60IBA),X8C$AIML]J'F9K]N:'2X]A5]Z8?N)C3N2'/ M5 >:>D;G>HP\6YE&0+ O^N&^_GP_",XH)%H'&9E%HD_12R*)WM:6.5[TB;.= MJCOT\?EEL7KEO*XUT'XSJ3X?%86XRC>CJ\?E_'_*<)'Y2K;;;(\.<%G$,4,\ M@80A15H7,%APZ:\5:9HF5&0TS NS\W=OLD[PH+Y659W4EP6AV@+)/OY2/QL6 M)/(WX7H6;A*3Z-E(#D1WS)J98Y5?B5_F6[Q0>LG=VO-J)UO[/.WW/@.NDNJ\ MR3EN1IYON"_2^;P/:)%AQ/YUO_JV6M[QU3>^4L-_6IIG&?5U,KE])/N7W*Z7 M2W^[ E)J>/?Q%GR3_W]BPS^M5MOE2C>N>QC*?B/L%$7/1M000!]Y23I(V>4F M]?8\7GZ2CH(G.4I:#]CM1+_,,9DORE"1FR4K-STJ3DXNU8]EC.H#SC.2DC2" M$4.!]$>#%.*3J\O1U4/7MQ-5">C42%4"7@#!Q$=&A%P9!O:QQC5(/2J>6X% M^AN;.QYWG*]_7Z]V+^77L_2 *JOR?;N\>=[JNAX#W4S-^5#B@E)>4.T:CB0& MW_EVMU[6)PWZ?L<0DL.>AT,0/:]]!_@9>1J:R%CY&D-]C^9M:"IY[&_H/N*F MW+V*OZ0/(H]8GF$$XSPK( HC!@E."Y@'"&5QRJ*8:C$I]XXR-8.ATC(639G[ M,D]P!H@2M*0_9*O% J^/_FA(@M@.M-XVX6KX/)N*_3V8%+ R$[,R8IOZ*WM_ M H&GDO?5&&]:[OY$S:%2]Z>-+5V$DVH"W^>/3]M;\<>F"MA^X$E&:18DRDL( M%3DJER8A"*$HPB0(220()29VH7>TJ=F'4CRX$G"WX;6G " XE+I8*!TV%E69 M!C#/ YSC@L(,J8SO3-%-9@F&"4NIB"3LG.*'E_*H^L<6K[U8,XF %E>5U.B::S[0ID MWT[W>?&[C$+ \1;U_4GS!FD.(\9SB!#A$-,@ MA4E$(AQ1$H1FW^]1I)[:/N#DZFVYVH)7Z3BL]Z+/JNL(^2$JI3?T$D9Y#32] MCJE-KF>[.QBQLM>UX::J=)@!I:3\:_4F?#]Z$UR=C[S)E+CRJD:1>5PO;^ M3OJTLZF'HO:JU,GFRTKZ(?.?TL*?,N6G<5Z(/,P@XGD"$>49S%/"("8!#G!* M1) $)M93;]BIVP:4X+"4O&$:L:U4HCD1>B;3/;R>C:,C9(U-H!E0 MCHR=YJ"CFC4S(,X-F.'3EA5/*%5^SWSY>+=:S%4Z\7Y5,!K&T@X)6-""011' M(2PRP6'!,\R2/ BCC!J55^L<:FHFZ2 I:$2U-D$] .N9'3>P>38UEHB9EU 9 M!,-5.97N@<8MK3*H\$69E>$G;/-N%?$:W>X4^=/-DM4TH:5_NE,7!K?B;K69 MET[IQX6JQE%S,\]7ZK]4Q=IE81#BA"4PI(1"%,F?BD@%18IEC/JHT\ M<9[-W^6C.:OT G<#O!D:9F?FM9024LJ*4UWOX-(]QO)YWBYMGZC0:9 8^?*^A&8O2# M4%U9\?^0_P4G0P+^:[Z1H*J3R^W37'WJRRNN_P 0.J+^TX&JEP2PMX/QZ !U M]#@A!M1ZP#(V;\GOY\_\GJ]+JRTG\AU?>)51E&"IVYHH28;/9/9>7P1_F0O U5]<: MYGP%9KU.S:!4TH.]^. @/S@H,+-@,#!$N]_:^ 7:L]TQQ=@#R8$==E:92(9# MC9:89 ?!<9Z290^V!5TO.5P.H5KO7@]-3FJ[_7J95\'AE;_[Q\MJ>61*;T4= M4_,0L"*FC&-(TBB&*$;J@B*BD(@ A5Q$!2*%6457G^).S6K6T7%\+WYS?+B3 M"H#MT?9B)<"FTL&TIJ?7Z=?PHBO[07=ZBJ>AW>A/I94 M>I]L-6\%^#'!=\&TP.M4WHE1*[Q.X-VPJ/$ZQE0-%WGU*L7(55['0/2RS.LH MHUHX5.NU$NIFB1>O)V6==%VGCN>G]KF7J#*AUXI0,M;7D:>.;#>>G^6 -=]/KH>+I,YXO MF;IQ^S3?4+SX/QRO'T22%$G&8QBD*CZ3IQ$D7$@G ],H*PK.XL"HP(&]*%.S M(^HU [^M2U'5C7<,GE?+[=/&D&CABKG1.],=!W'/UJA28@8NDDWWFLP4Y23A MJOY4.2\@+% M2,"\2#!$24NT# MM'_-.H+)M\-B@Y#VXM7 H&<5RZ>K52Q_.*SBOCY'6I!<>\.MNX M?W[\NGR9OU]NV)I]6N!';7+YUJ>GMG)+*<&]"EU\!%^_W7U650DWJ=$(#W]_RVDI$/_BC MVBU]YR^KM=J+?UZ*U?JYBOAXK?]X." C69#&C"!( QY#%(088DP1%$F2,AZB M F$COD9+.:9F*4XJ"%6R@KTFMB6#S&9&[TAA!+Q]WQ'V00V.M)@!\KIO,4Z) M'RM,G1?P,9/BC$.K[>O=8PFBK,PSD.JZ*Y"B/(L M@WE6!##G*.6$)TQV9)88=C[$U"Q>DR%4BFB:IG6!GY[QN@X5SW;I!! O=1J[ ME'>6VW0QP,BI2ET*7F8>=;:T6]&?EW3US._Q+[Y1A] /&*$H8Y1"'L5E\9L" M$H%C&.6)7- QQJG0.J7HZ']J:[D2#VR5?.!%"FBVGL_1TUO,5V#B>277<)2B ME9<2[A9QA]*.5O!Y[Z,NWP[5SM=N5[-KW9CW>/.D2LO+_U'QH3_Q0ETAE+L^ MZ;1$H8@(A3@/!40X$Q!G.()I5M",))B$V*BVLM:H4UODQ_MF)6]=#5/^<"1Y MO4\V)(G0FP53!\41MB.Z(_:P7N%S:,#DW,/H&_.-_ D-&+J]!YV'+<+'JT#U M XN7*BN_VDDG!;/YXO4#KP.4%:T7GJ]50'M%LKAY$)&0+D/"I#^AZ.]I@B%. MLA1RA&F&*:-IHD4T<9T84S-AJBSE,U[_FV]+9[XJOP\7 BQSIJ8S\5(4T MRN(9ND$=5TY8OW$;;QI\W]14D!^4 +46H%8#'.L!E")EO@V?57&YFC%Z5TZ& M023U*),R4H2TO\DQ"WF^&M/>4&;[WL<+4;X:@9/0X^M[<\"8]%[V^"C75AIS M3(,PABF.,H@$RV%.&(:4)WDC K;&9= RB?QMQP.](7E +/'Q<;@>DP4;0,: C;?FN M!]9L:V> 4N\F3J>?\;9K!EJ=;,Q,GK.PS%^E_'2WP&6%WF>RD%N_STO:F.2" M4U00 2,N"HBR%,-<)"&,<)85:4$(C_1-/$4&H] M8!YD_J%^+^[7>%D135;Q'P\1*X(X23DD@1 0Q0&6^U4>P2 +<,1Q& N:ZD:9 M=PTR-;O8R D.@M9Q4?I!YIV ]EM*5S!Y-I(6"!D%F0]!8!5EWMGI:&'F0VH= MQYD/MK4/-+];<[9=/R^MXLQ/'I[:RCT)HU:2UB=Z-D'FIRCU+ULG 'E>L]W8 M> DP;X7AJOCRTQY'#R]O5:@MNKR]H6V2Y1'!Q0>\U0I]['QX:LOUF"Y&R6>: M;GF.S? BO1H6SXNT+?E2&R6+),P.)*[(Q3SO<>24S Z%+C,SNQI:ASVJTCS\ M Z_^]_.RKKZQN<.O9WT\LL=O4"T@>*DD-(Z.' !9[QK(*7">#4(C*_BMD?8?8+X$>R#O M!H"TB:O4 \==I.7 >&/'7NJIWQ*-J?F@G85YOWI^7BW+>J_5E?3-;ONT6JLB ML ]))$C&PP1R% 0J%3R'A#,$$T3S)$VR@ >AR4URSUA3VT)4HE;ENV=UG!+ M>W'-HY=T\-8S,XY0]&Q@:@!_5 !6@H*#I.X,BP8_*)(DX )#4K ((AJEL&!Q)/\9XEC@3 14*R;RLNNI MF8=&.KVUWP)5_U*_#@#?#G\MF,.;RVY]^Y:N?.IHVCK-!N19H% MV=/"UD7X*;VYU?KU._[KJ_0XUG.\V#S@# =II)8B2PN(@BR7;H'\?E.1)S2* M4!ADQ"P_JF64J:U**1MX;H0S]0':4-3=]U^)C?>]?BW?#"B$]B+.P._KU<9A M)%@O$,[V]6UCC+R7[U'SU]ANR7^:+_&2SI>/WSGE\Y_*"]C45=OP9OMA MQV]^S3ZGLEPCJ5G$V('H[$!,8+%D4'1&W-4 V,$P[G!,7O8 MT@ U4>QUJ? E:Z@AYUSN:O!FM^;L=OE=!<37M2>_K9;KYI_O\&:^^3)?\L]; M_KQYB (FI.- 89+2#*(DSV&1!P+&*!11EA<,,2/&&J?236$5/J5D85' M&H)&15#>GM=:E:V.U02EGN!/I2DH536UATY? DV[^593Z]N^OL6LFIMG'^B[ M,N-.91O7W/N ]>*SX&60,2LVW=6IHW?2=U89P8<3K1NR^LF_SI?SY]WSO7R? M-D^KQ;Y<>%Z0+$\Y@6$:,(BH""'FG$,<19P)4J24:GG";R'\U#X^C1;@1:FA M$NKIT3DYP$H5\%SI K:-,F/4\+%\.?J_.E.?CZDK9[/ M_H6Y:UZ8XWL!4 (!:B3 'HK98*'ZMW]SQJ@%Y?\-&K4RU"3?I)%J15TWE7XJ M1UG*]#>H(W4=VFZJ2ETI@YUC?L/^M=MLR]H,]RNYEY,@SQ?\&]]6I$Y?5AOY M>T6B_9PSSMZ]_B'E_KS<%WJXH=OYSW)3V%0J?TAX$C)&!$R*(H$H+E08 M $YA3C!#8X_\T\].]O!-Z[OI;S[/OF]#3"=XK"*2&H.:H^TTI M^0_UYY)RZNYXEO]H9OE0>>>@+_BST=BA!^]S0APY\EY$'-6?]PGRN5OO=:SK MR7?++!-EN59+4]LQU,V$[, IL>RQL%X6L2XR'EAG6X=[,P[:/N7[&&E[G[/( M?UHLZOCZHVUA$^BCFP;5T\?43H&DK* EH<"@NF.[M&Z_H< M)*W5? 4^(ZSA'FC<+^4.*&P7\'EW8R[;#E7.%FM7*_L\Y _S#=6]6.Y\;DKO MX'&&K1)RL5*W=:YO>0>AN"K+]K3'T;-L6Q5JR[)M;VC^,M[NMILM7K(J$&?U MDZ]?R^K3SUO=[T9W#U/[?IP>Z3^K["3];T8/4,-+UPU&GM?OD9"@D1*88&:T MA(T1JM+<(7WJ^6I;^H*%[?RVW!ZIFO]W61I9.IPK 59[U0SNCJ^>4XTP@C%G MRK,]VT^2T@6\WT_24;GX[\TDE2J=4 W<"G#[)I-D<&,_YF2-= 4_QJ29W:6[ M KGWYQ#'+($D+)(@ M2N,PC[5HT-]>E:E]I(^C=.CQ-A:?1O-LCMJ]U-$\N(KF>3G AX5+@#7P,P. M<8-@H;#99]_S&AYU!O-3 C0#SWN(1@D4<_%6:NP4_C;OFN=M1O6:O>L/&GO7 M!(V]:PT:.WK-2DC S?XUVZ,"OE2O6%,>PIE="'AWR&PT>%,. IS="F1;?^G3_C^7*^?#P2 MZ;"1_?CKA=.ME*L\1K\5/^1O-Z(* BC+R!WJM/.I MN-T^\;4*Q9]7]_DE94-(61(C$<.$YP0BEC"8YUD"0UR$'#-$,3&BN6L;9&I& MNY01' EI18G1"J>>:;T6)-]W=J;X&)NV/@ MY((_)IM?ZPVI&MV"T:^LR'E!9Q$M(81FF00)23'.:4RW^2(L T1RD) Y-E MWS?8U);_7E;PV[J^&_T'D'89T#5G\RH[Q;2 8B_8>D;!%82^ W(:EMP#QL\_+]_AEOL6+AS#*"L9S!+-(I! E.(-%6!9AS0NAF :2*#7-E&L= MR60QC)7LU@@*7J2D<+X$M)+5-%NM'5H] ^( +M^VXX"3$E&1;K\?P,DBRZL7 M!6>)6NVCC)QKU:OJ9;I4?W.;6T[ZQ-EN4:?X-GN7)5,WK]*9X4LZY\=D5Q0' M&:<9S'D2*(Y<"O,DR6&:4X;R5"""M0Z7+,:>VB:DD;Y)YF]VVHK3Z$0#"Y(J MFZG1N9OS!KCOR[2)86UR0>4-\[%NE-QB;WCI8X5>_RV-69.;/A_[^00'Q5)[+WLI3Q!B6,>LS2FD$2HD-M(3B$6F8!%CM,$D31' MH1%S:\[,4$I9Q "6IU+M4%K-XFT@%,OOJ;S#67J='AGK0N#LW'!AO[,-#/?5;3A U'YQ"=/2/W8NB^5YK!4>SF!_$9$VPAD6=/U2=F;_+>GXQ,D$7$>19#%$8<(R?_D01[#M, ,4^GR MYIG1::/1Z%/;OU7";]2U[/:)@W+&F"'AJAG\>MZM-U ][U4JN\PTPO MRE>C3&96Y!^/2U7IMBJ#]7ZUV6[*J.*'M"B2'/,49@QCB'@00IQF N( 1PBG M-"+8[*+%AY13,Y&M)/V'S^*LB7YCU05G%6&A%)O5/#=UQH#IG8Z7-T#S1NBM MYW5$C]+/E)I?/OF$W-75E1<9Q[WX\@GSQ;69U\$LSF!OY)1&=^]N:ZY*BC%E M 6$0I?*;@-*8P"*(!,SRM"!QA#/*M2+"6_J>FA%7P@$IG<')S1E8&N=U]A!X MMG>-]L/TG8,P&!PIV<,QTB'/X$MA=K32KF_O8G(@T-'$TD5? M+7_R]58Y_Q\XV=8O$^>Q-$ !@2D)7"SU,$48!BB!.6P30-,H%CS*,T M-HWN&1QUBO$]I=" 5U)7<;*K,A^35C(#7&I@&F:U+!V>2D M*32K[-9*XAFH9789;Z(-D+.(D^$11XXYT8;@,NI$_U$[8_1YJ:(65^O7_UJM M__UY68:Y;#8/N4 B04C .,DRB&@>0,S2$!:QW*4518CCV.@TK'V8J6T_E'!P MOH0OE7AF1J4#23T[0%D&<<1K& M0D6$K;9XH;?XVP8Q6OK[H?R]W_=J#"#F2[RD<_F3S;:B%4R]]7\M1)Y7_Z<* MEXJT?I_F3KA8K3E09W-_E:$106@=8E1ST*?DN3'H;>L^ M4J#<<:,1G%*B:N(@4XIIK:/J"Y" M5.0 7>Q86=@3T.;.N^&O5TE^>%N&%A#^.%\N:T(M+[$&W1.H>3SB>UI\'Y\, MQAZ46I0>T=M%(0PB.4(T0K<,DXE*&(3))#IAN#/S@C^?EYNY;'FH/??%H 15 M]\,36D^UD!TU#;^XKD4UC(E5(9N>;D*+K$ M&*+NV!'SKMS6,7_W>OR7DE<@07$4LK2 JGHD00E$ =I!'$L6!*G.8\39L88 MK3OTU&SA:2ET&^X& ]CUC)T?,#W;N!,<9W[X'1O0NW4W!%=ZE,8C.O4M]"=[(NS2&J-N[-._*S& R/G_XN-R6 MU3;G])E_'AY EB"""88")@ @5 F+$"*0!34FGTX?-58G?T]3&V-?I4NZUI%QI3BJB]B MR]V/WI(=@&[XBLP-:IZ7KQ9@;D>[*QM6[?BN3*.U^9(O M:3WNGQ^_\NW3BAFO]X['I[;82S&;(F^5K/I+NPNBX77M !W/B[H%& ]+> ' MJ_7;U>=HBW= J>.5.]3TBG/2W^NSKBA%>819 0D+0HA$E, \2F)(HB+.:$:# MPJ D_%GG4UO-^Z.PWRT.!W\W/R>U@&&L<]+?KSDG_=W^G-0"DK'/2;M?#KOC MT=\MCD=_?[/CT=\UCD?/V]@=CW[\[YWT07YPNEN70:"??GZ;_[%<\XI%XW<\ M7ZK8Z0>2HI0G<0 CC!.(P@#!(F$8)M+WC].@2/$ ME=S@-R6YPYIU9E Y.K_4''34(TLS(,Y/*0V?MG!TV+_N5XJ"Y>9YJ^W='#TS M-4LB99-FO/2YMZL3WM*&N,C PSG&1L.ML83%MR_3B<@0(&;.3(OV=A[,<4?C MN2TMXI_X*FU_M[PX;:<^*IVA-5[2)W[_UZKQ7PI:! )CF"/!((HYD]L#0J&( M.4^#+"4I3HPN3/7'GMK*KN4#4D##:T\#O/7V 9Y0]&P(!BG?CA#VP#MB 9JK M:TV#D<>]SC2'Y.(:TZ(+![6*L+HXE;]YX>OMZYU\S51NC=JLO*A7Z2%$" O! M$Q@J2A/$%:T:ETX.3?(XR *8/9LU\Y*Z]0(-Y+/0"G[K$3ZXR#2UU7:T:@1G=..K9G*O0\7V>7 -32N>%BJU#=V)?U:5T/+L]<]U^Q/KC9!?.]-L2(-TA1F:1Y"Q H$"97.59R@ M) T1YH4>V^O .%-;WXV88"^GX1EJ!YR:AZ;7@^3[E/0"'P]K?0 &5R>@':., M>^39K^K%&>= <_-HRP_UG5I%'/UQR3[@+7^(11KD),QAD%*D")]SF!<)@T*$ M*0U#$M%,*V>F_D-8'T$.9E I75C8G6 M */=I)BH>WS#8O2G9B8:V0R^[AV0#"_\Z]#P MO,S;0J_UP#%:T=T86*W?ENY&6ZW=JAROS9Y6YBOQCO/U[^O5[N7S9K.3J^/3 MTOA;WM/%U-:F$A64LH):V!GXM%IMERN3I=J'V?":=027[W/\'J0\?)8U0+%: MS7W]CK:L-90[7M\ZS>V.XFZH] AV)1'&!_ZRYG1>[L'DSPM>WE0NV_TC/%?R::VC MHEI'%U+Z6U-?^&;SGP ?E 3L2,OR3@P?J6=V+NAL;O4.$D>=JI%BLXXFYEBG M&=AK5<[1L5ZST:XV70/NZ(S3F5BC'HJZ!O/\%-5Y_]95KMJY5RO"Y M> A13 LF$IB$20(12C D49C!C"^?IH_/LF__9(/S#?2#L\I?T I#E)&&$SCE$*4!'+K&I$<(H$P MCUA*61AK)R%>)]?-3K_9&Q=S[Q[V'NY*$[!7 M!>QU49^<6AM0J0,:?4"IT&@S8Y" .=H,C92NZ7FFS%(]G8#;FQAZW0CCI9$Z M0>(DZ=1-C^[VZOOZ".\K;V+^D[_'6_KTQ\LAC^A^];V*$&P*+GS<;.?/8U7?L]$9E$K#W0LXS0.L%9=-]R5S&N5K M#J/]JW7GYE/R!I/ET7MR+?&;NUV>ID#'7_,UM"U-XWNN9%Q\7C+^Z__EKP]A MBE/.1!P6(AQR9L+%#H4O&QJZ&EGG6W;RN7_:%ND*4 M9#DJ(ACQA*A,Q1 2&C)8\"C D4 9+HSVISJ#3FVY]W(>ZY7YLI\ O1V>:U@] MFPD'B)KG5QM Y"JQ6F?(<3.J#4"X2*4V>=8\[.G;:OE]M^!A0))0L52NGY=; M]FF!'W6#GCH[F)H]D8)")2E0HL+P)!I/,77.E\I%U0]^ZD:NWW@X \VSM=## M"_RIQ'84_#0(BU7H4W>OHP4^#2IV'/8TW-ANYZ%NG92C(XT(7](YW[Q[_8:W MN[5T5@Z_K@I:(<:$",,OL//[!ZMBN6B!KO/,S!<;3_,!AXU%V(.2#G>Q&+'NQ,59U@ M@7_5M^3O^)*+^?9!Q E!."Q@D044HCP+($DC#"G!A##. IJSAY]\35:ZEJEC M))/UQ[NW]>KG?*,VZG+_IXJ[J[2@+?YE2CW9!:V>Q7$ EV?S4B=,21$/ M03.UE YC9@9P<&1)ND89U6P,J'IN(X::6QJ$?2S:K?C"\8:K2\B'G. B#Q"' MB5"E:HJ40L)Q %'"DR!/2%(@(QZZUE&FMB,Y"LM;";!HQ#2T JUX:MJ :U'R M;0%. /HR")#YXN\#P-72;QUCW(7?I^;%LN]M?!UA2EVRM+F0D?N.][OU6H7H M1R(/2<$)I)C)92\2#DF! H@#PD/Y1R'RQ&P_,#CF]'8&-Y2N=](3IT?9Q'94 M*MU ZUD&I^#YOC.I985-3/.1M.JJNI37/='*(#2.*5>ZQWL3\I5!];MH6(8? MM+,Q_U2!*\O'TNF.):_WVQ7]-\ M;\'+CBSF5/Y%\+74T9#1M6L^]!;_51B/%(%>BZB@VPL)2BD=4K(.X."*?[5K MF'')5@>4O6!6'6IO9TJ^[11GVZVX?>%KK,Q3?9NZ>4A(DN)C0M,#4Z.N@<:6I?_DI0]::O&E'!II;5S"YT@ZMG&)Q YOL2=(_6 M7LJFU+9#TS"(A"/;T#W.J,9A4-USZS#\@"WSTNEI9%:E,P4N"97.&UQ1 M\/*FYN3-<,SD-U7 '(L8H@3'D.0B@0$/XI1CK,(,C M>WDR3UWA?T_#&HLKC MC1:)\;4P>%Z2!P2N*7C90&%1\-("DK$+7FI 8U?Y\J:-P7F@\N7-F'S,?=*V M5KX\;V.95H@W3S=+IOY'L8K\Q NU@;@AFS+QXR%C),.DP%#D2*ALBAP2HMP# M'J9A$<2AB%0M!PYS%L60%805-(JS*#8M,=4SW-3,R&F,$JWX:Q:E MR,9%I/I0UCQX=(:=9VMR.'+\SBF7+RQ9\!/ZGYE7_A\]G-R5A^H;;.R*4!J* MMQ2!TGG*SKQ\F&_PX^.:5UGQMZ).+[U7K\2!6Q51GN=1F$*&40(1#3)($A%( MM!'"*18%%T:'EUJC3LW8G JMCNB^VU2(TD-F$$/Q9R@R3([.B-.:KU,8+AW B9/6R9J:IN#TOJ7?9AIZX-J_H9_\2+'?_&_RK_LGG@ ME&09+J2[E,1FT1IV:+?K<1B'N+V=I M[Z7B%?.@9Z&@:DV%4#AQMHP0E?[=]G5_RA!'@4B5!6(H45'@20'S.(E@B$E<()$'6(_2 ML+W[J1F=2CJ=$P<=[/3LASTBG@V%/ACFH9NM.KN*TSSM?-R@S%;%+B(PVUO9 M+=C]#6X9(_Y??/[XM.7L1I78>^3?^3.>+YL_JASC\(%SDJ,8"9B1.(1(\!P6 M*N [3Y.$Y$D4L0"9+&E3 ::VZ!N)(:Y$!NM&YBH5!$@AGL%O\R5XY7B]Z3XF M<#,]>E;#)^B>[?,"OFSN\V7[8-=5L29)%%(L$<@D01$'"("F] MK2C#/"H0"X71O93!V%,S?6D(BP H,O;,$XCC'#/C14,PGP:*PZM.E3U*+-J;$C[_H8J>" ML-1[)?^/W>-?#T&&LJQ@&-( 91#1/(=8" 23'&=A'@@B4&YBN"QDF)H!NU]M MY>);5XH8&C&;*4CC)!,X8Y!3HH[F$),&E% 8Y:C(DY E(D1FV9&>)V&ORK-C8$R<:"+!'BO VB44 0-[CXP5T#HZ$-C(\&H'YPK(#K_ M\%S3E2W[[8>5VH4_I(Q(8T8PY"E&$.5I# N1%1 Q1O*$AR@06L;)W@5:__;D& ]^G>9KJ6_#8GNIZ!7UMW='(K+6GXE^2U9[]W45Q M^_>K'WS!J?2(OTH/>+=V4>2^N\^IK<2!&NWJSWCY"AIU0*V/?B*&$>#]*]HG MUIY7O"7,'BKPV@!HE05B--!H22(VZA_GD%@][S*D^\N!19MF.>%AJ%@L!40J M(C//XQ0RD224<[6%, I-&!AOAZ/0R!]FZ7K,'04ZGV! MC-=8[R]O0Y*MJ;I>M/?E8^:.Q\TS7S*5$U22.C.*6%8D&209DYX'YPP6"0Z@ M0+20QB2.TEPKLONBYZF9C;UP0$FG[WFEB#X'G):^IOY'JTZFKE>YSV M-)KST:K L??1WL!\T7WACWA1N3(EP5"49%&<,NGPHQ1#1"(!"144HI0'&4_C MF'"M;WA+WU-;>*5XH'%]#8B9VG ;7G]7H.%Y!9H 8;0,.U2V6HCG?8VV%#N4 M.%Z,74WLMME?5TO^^A6O_\VWGW9+MJFO2GF1\(*@ HJLD"LS""DL!"&0Y%%8 MR(Y0DAH52F\?9FJ+M)025&*"4DZS#70'F'K[YNLA\KQR+]'Q<)O9AJRH@;U> EP(;D*5H8]YO2KPAZ=U34"+/P$64;B4WN%^!2O(9 MJ&3W :T!08T/B$=BKG$'M1FOC2EDO80WVIV-QX1CJM\)18[QPQ9F_4;"&-[] M^$-^,,J?WMW6/DN08TH":;QYG&<091&#.4(!E+\37!W2)+&^&>\:96IF6PD' MI)Q "@JJ?[R[-; JG6AJ&&@7&'DVR*WPV+" =>)D8&U=X#62=35[KN\1GJ/(DSCN,,)EBH[Q!) MH(INAD(D),H3F@=QZ. @PA[S46[MV+]V&Q48HVBS?:!\U5F$/79O=2PQ4[3Y MC=05U8#W(XIVE/R>5IR-.86#BW88-,\P.AZV9&/BS_+=^,!?5IOYMCFJ9Q%& M04PS:=J+1!IYCF'!PX1/4A2UG&\DQ 5N0(HB(*84Y4Z,TV)7]!VI&8E)20D(2PE!76WEE#._T@^4:O$%*RD\ M517=(SW!+5G,'_L+#)IS+5V!JROJ)1L1QF5BN@*D"V*F:_KR0/OR8;ZAJ]UR M^UW:B#LN7_?E]H&%#'%%XA12ED-$"@%Q+$+(0'2H$9J%48B>JE![PQJ%[:AI\.U4L/ M.$94+WW]6-8M7TKWC&^VRMI^X]*N$18BS .8.NP@GD[3*YJEY_U/F[5\G;5+NJ5=S2S+5E:DJVT,;*<$4D7 M<< H"3DL"IQ"A(3BL\,Y%#0F4.?&"KF=#TUY-X,#NY)'9VQ@N9S5/=<<=N0BJ(1R7 M55%-.["\W2Q+37S"JOC/GCPBB*1U2CB"2+!"_B?*(,%)"),PHU$49%EJF#W; M,LC4C%)=D\XJ2?KX$_!=]4J>HY8'III+:"<%_UWQH'E=[0]GW074/Y7\E M_:SYJT*\T< [^?\ J3:P+2=(,%5D"(Y8G$(6,PASE 0QP4B0Y#G AC,Y\ M>L::FO79BPKF1[*:;8_ZH-7;"SD"S+-=.6!U+*:'H"(-.!SM9OI&&G7KHJ'R M^3Y%YQ$[6W%VZU2EZ-R*#_/%3OZVV@C=[K:;+5ZJ&X('2A*1)T$@';"X@"B. M$"R*+(!%$@@D,%&1Y2;VPW#\J=F4_<5LS*>Q05 M>:1JT8(7^7DN6\T JU2VCS^5Q@CS;L(M+\T.::^TX'\D] [5&[DR; M)7*.S)WIZ*.:0$MHSLVB;3?F_IOT A]72_Z=4VE]UZ\??[W(5ZVN=ZEL,J;; M.<6D/!\X^[[=LT4<@\> MX%486OF#=B..YAU>!TZNXH8/.M]W(# =M4NXOTZFEE>E+>4NRB+:=TLV9=Y8QA. M(TVR*(VR.&4P2!&"*(@HS$-!88@"(E2)[()AHWMT,EN,16: M=_!^ ?9^.MU>@F?_^[KXV_[?>Y5F92+L40R6SU"A*T!V%09@(<&X40+V$%T$ M$5S1E05ES!U?B]7Z616\+V_[_E@>$C^C.,-9' O(DDQ 1$D(BRS+84*S@B0I MYR'59XWI&6AJ-N](5%!=<9?"@M_N?ORA>^HT"*X(,0IH4D 6B@0BC M(I#B0 MQPG%7(B4(JJ7-N,2WG'28Q2.CF#L_TZXA,;SQZ#KI;,@Y.G#RX"3QQ%N(]'R M6.-GQM"C 4HO24_?\^/Q]&AH<4+5H]/^BHSNBQS&HVS7=Z^')G4R[(W*/&Y. M,V\8FZM'\*(ZT+S9;9]6:Y6B\2#RD.(X(#!*10Q1$B:PR$D."Y)+SQUQG@HC M^@>/LD[M$WBX"\![F9O[&KR7^LKD;T_3KNSH6NB@<7-#=-#9<9*YWXEQF8ON2=+Q4];]0MZ:V>YY2,LO$E[P35TW M]6Z]8CNZ_3)?-E7G>8A%1#&"HN ,HBP-($G#$*(@"*(BQ8$(C;)">T>;VE>A MEM/0U/?BJ6FL7:'DV=S6(LY +61Y3%/'QX)W?$F?GO'ZWQ[BA+0 L<: MUW#IJ'UA>K0>LC,> _66CY)+$T0$H3%D(N 0\0Q#3.,8TC3E >,%2[A121;= M@2=J4LI+VL?EO)>OYCK$]2R-#QS',3I]9=T=WVS;@C5. ?E9*?W"M]77*E.;[T%)V]"1WH\H3>JG%+K_OO)'9 M- %>>R+T3)=C<$ Q3-WJQL R3ZNEPQ&3LKK5.X^8@0+'#(8(Q4Q M1_,($H%BJ*AV\IP6211J5:)KZWQRR[C9?'\RN+L[!TSC?O,*&'ROU#T"-M>8 MYU 87%U> ?/C'KI/B 7S +1LZVII9:FI0X(C@-U7)(4):9'?('.#8\%7H[, MD,G(HQHE"TC.391-%W8&ZQU>E#%;3YQOOZC95G?LJEQUS% <4^F'R0TAATCN M<& >!@BBC*64!Y1))\W$.G4--#535,L)2D%!(ZE5,?!.;/5,D0O$/-L=.[", MC%[UAKC8 M4=JTZ>Z2R.:D__'I:]K4:R6M:6UH><"A]H:;AY 6)"0TASQ(Y?<\+1#$(64P M02$)0A87@2KUK)^37'5KM'C'2D4&N)3-\)"B@DGS-,)8>=_'#OT:FY\LG"CH MZ@BAZG3;MXO5AM^O_JZ?)FK^B.?E^R;G"O=J\>^ M/J;V<50RZ=\S]J+3O])< N-[[54%[THY%5_5_?R9*S_\Z[>[SV7%(?F'7<5Y MNV3SGW.VDR:J%TBC&TD=E*QN)GL['NV&4D>]XYM*K?9F"YWQ^<-[Q29RV!1G M213A((-)4(00,9K '&,*@X3+WP:JF+56E.9%SU-;[Z5PX 4_\O_06_:76/6O M\ZL0\+RP*^5=[G4[M>U9H/*9:H'*'PX+]+*G459DIP+-$NQN8'L]IXJB-[%# M[6?X9:('.<\9^:[B[S;S+:_C["N.ZJ-XXJHH.N-9F',4PZ#(Y+XXHC'$&4TA M92+,XI2'.&1F90I]BVRR0L;)V_[X_+)8O7)>\3?"4J^2MK%1S/2^T/.?6]A[CZ_G[4G^QW7E_V\I&OEG9:L_>5!@$YXOL6UYCC .[L9]2SNR)>K MXX!_>3\[TKB&T6HJ='#]^O#'CX<""1HF>019F!5JTQ= 4B $\Y2A#"6\P$2K MFM*ARZGM]E3ZOES[/[9XVU.-HPN??JMJI[5GN_?'M\_W'S^ '_#K]>8](XV;;#ZL M\D6JN<8CEJ&(>+XN][MUGH;:4']>ONRVF\-)]%&V.4>AW+WJ3 [_# :?WHG&4I\4,H/CA0PC4\TF@,]0^,-5\^FIQW0O\+/ZGJ5KBZBF4T&GO<:$8;6"[B&:TZN8*"O>%! ME;95OCKJQ5%9TD@P3E/,2GXW:>0B G..0YCQ' >LR'.2)&9&KGNPZ5FTBIE\ ML5H^0KDQ>P:+@]@6E.WM".N9,#>H>;97%5Q'4L[ 04['K.Z]6+@D>&\?:'RN M]UZ%6VG?^Y\PC]>0G7SCJX;T5#- X^2AJ7E"4CCX[>.MYF*^Q*!_[5ZEON>E MVFCNT(OI5-O# MAQU_("3-PCC+)419"E$JO\)8,:^F<5@@D?* 9I%)_*'NP$;K=;0(Q>?YH@Y:.""-L5(+S,Q709JFP& ME;,(9LUA1PYL-@/C,M[9\/FK&/B^\V4Z:N]E%;T>P-PZU[T. ;1^R5/ MS?:YEQ@<0WJ0>>:,FL8**K>T>P-CO@7GGAX,'81[F@];5Z&J[H]D5Y^7=^O5 MHWP!FRUY'*BBXDD&"4$A1+&*,9;"H&E!JWW2P3YNSNFEIR(D(0P%IQ!A$)&.PR%D* MN2"(8HIQFJ;:!%M7"#(U>].HHM@[2V7@2L"=],DJ?;2;AMGX2;MDDPJ6WG=EX,",=&FI^1R,FLYLD1CYD#)'LYSZ[I M?SQ^- C/-K#I4;VQW_G+:JW\_K:K<1Q'/$,%@6D6JIQEAF ADA22 M!"8 M.^LZ<\5]J_Y0QGH>_^*H995YT&3)?.#5_\I_+W9,2OOQ M%WU2R33?\99_%(+3[4.4)Q$IHAS&>8XA0O*GG!0AC+(PI*$@ >'8Y%9D7/&G M=K?RC6\!J\56SC"5^LW*_Y9D_+6:I>5<[T$H_VYXO##N2Z)Y8#'9J?=]!%+. MLOHO.-)(G;[NI[AJ4H7;G_SR](D*A4.:VV\-$/\H<]\J+$ #!E!H@ H.AZ3^X1_@@+OG]"Q[$!U9;@L!1K6^]@"= M6] K>K**-[SCJV]\91QQ>/S8U [-5>3=W<=;\.WCK5'8X0D4_=;E2A1\FXT# M .ZC#]MTMHT_/.EKS C$-B7.8A!;F[B+0OS.E_POO+CGZ^<'A@4I A1 @I(" M(AH26/ XA#PA6!0--;;W6H@&5 '!]C.$QL'I;!(=P>5[8G1&% M#83W?1 Z"21L <9C_.#Q:&\>-MBBNDZT8-MC=G9$^4K;5T4NLEI*A^G#2H4 M/219A+.@H) BBB$J<@QSDJ'*_G6_4MV5+/VZ MI*W'#TUM[1ZXE%3X^S%7DN:AP24LP[MU:T0\K])N,)Q5+.A4WXYW]:2G\8A6 MVQ0X859M;6!Y^]_*Y'5$-O?N]="D3@(HF5V;:LMWZSGEMT(^_;Q:EO0)=UR^ M,,OM0XC2D$89@ED8,XA"170>10D,11:P6'ZS8TJ-6%&\B3HUL[&O9/VB)%81 M<;24N:)U- PI\#?!FI$(DY@VWP$,1XR-)Y;M2$]UHMG*[*B4G8']I-\UDUYI M7#'$E'=BU&GJL_^)<14XX4_0<>,MO -^$:;A?T2+\.D;.Q93G+$F$UIE02]]3,^Q*.""E,XB//0.KW^9>"8%G M(]EH;U-K^ P&@\A?>SA&"N8=?"G,XG/;]>T-N3U[9+PHVG993P)C.YI8DIC3 MDD1S\VVUY65@[0HO-X+Q>JO,DFU9/A>M/>ZXO-NF<%P0 M:!MW8'6=_;L M^?I]O6-&>89$0G+(*(T@XJF !0LB*)(X2W"$&6=:',5MG4_-0C3B@?<&'L8Y M8!J>UA4P>%[K!P1LG*US* R\K2L@&OM05K!0D_J#\B5>SU?E'1:/\H('4: R"0N(""X@#A,&5674E' < MQRC1L46=(TS-(#6R&=4Q[\:OWS0Y0<7W>;DF(-HK<5#I/J=%/GSDL,A_';8: MW?V.LF0'U6K6[7!#NQ.3_^(J'9FSFY]\C1_YMYTR"+>B/#7>W.ZVFZUT9:4/ M^PYOYO0A9TG,BIA"4:@\X9P16!0TAHRG19*6671:"]MJ]*DM^D9X@"OI3R[Q MP*;4 >RJ"/>R2-NNC'-;\BU82$\?O,AO5-EJ!HC2#_PFVU6/_N9B!CVFR:7F'FV0K9P&16XU<'"JMYM;\>C ME;_54>^X&JY6>VL6074IOJ[*(,XW_[Z7_=0AMDBZ,R1E@2+\BB"*<09)D#(8 MAI33%-$BY5K5"C7&FII1.!$5*%F!$M8R@KD/9+T]BR/H?)_=V*)F0R0XA(<[ M'L'.D<:F$1Q2N85%Q*/W-+C[Z?'.A0+18\1 D,(I1#Q'/I4J%$,::JNA4H*X0P"L5I&WW'E_3I&:__75YN%&&1$I)G,(JYJD\CMT DD#\)RH,X MRT6!T_ J?^ELP*GM@UJV_WMYC>Z/M!&W=)ZNP'%\#TH;PNN=J Y2AX '&F>"=(FBG>"01Q@5*4QT'*8FK&9G4^ MA,GK/PY752.A(3_5!79ZYN$:/#R;@T8T+X1177J[K>GR1F1/7MQC&)*\ \K_=NK&S.2WI!,ZE X B\L4H,F+]PAG4$-/#H M+Q30U\&(E0 T]#BE^M=YP,)P=E3N^[Y:+#ZMUBJK\P'A-,(BY3!+TP"B(DEA M+@2!/);H(I+C)-&*S]$<;VI&M+L\)?A3B0UJN4W,@P;J&I;5+9:CG<&,"J.! MK74+YT@6MQM61Q97'Y5>NZO1S7C65U^G$QML\)BM![K 6Y53O]Z^WJ_Q0N-BQ@G@8 4$0Q17F!(:)##M @#RL(\+8AA;=/.L:9F@6M102DK.!+6 MZF2K#V1=K]4)=-X=6$O4++S903R<.;;=(XWLXPZJ?.GN#C]BGM-Y]_.E+.RD MF[G9M)_:&K_#K^#GYJ32[J$\C'Z"YAZ._I5LBX3G)=L+0ETQSU&BY;GV5NF4 M^TY&2YH\%_LX-?+B;Y;D9DU"Q+O=9K[DFTU=MFA3?B&2(B*$103&L4@@XA&# M>9%A&.09SG!4'C49\9/UC3:U1=K(9O7=[<=5[\OK#"WOATEZ0)G3;^D X(I! MJW>L<4FP=-2^X+'2>NA*(_%%]OQ9_KAYR 0C44QS6&1Y 1'#")(BSB'#-(WS M&*<$&6W0+X>8G#EH) 1_*AE!*:2M53@ :6@*K.#QO?[-D+$W Q?*NU[[AP'> M9L%?*-BYRB];N@K++S>4.*<)1E$&L$LJ*4/*@N@F9I!4$(UT@?.>/*E!8I3+?[%0@QF*.9^ ;_PO\?QS+ MEFP&?JQVVR>.-UMPLYGCDH;N_=-\B5UQ3U[ T\\[>6@^(N?DA8RG?).7?[Z" M?>E#_8I%I,!YS@/I1Q32HTC2')(\DS8H2E"0T!PEA5828%OG4[-!>X*=#Q:4 M0Q_TS=$5,/C>1.P1N(9]Z8.Y>;H"DK'9E[I?#COVI0\&=N?\F?'9ES[T6*"N M-A;L2S4/S!_+S0NGK#_/-?^_DUD_,:6G+;\4]_O6.+[F8;SVXFL=0*,$8#NNB@^=ZZ&VS%(3T*@R S?/BL-7_[;2:B;Z;<<8 MD^#9K'C#W^B"]!H0K2Y3K08<[>+U&CB.+VFOZL>B.IR*RMJ\7ZPVY MND\W"ICH[F%J=JN2%)2B*G:X^_ESN6Z^?KO[?!1'H)D3/(#>L!5R YSO@R!- MS-P&7PQ#8U=ZKKO;\>K0#:IV4I1NN+6Y _.=X\7'C;H6NEFR&RH]U%T9>?6! MOZSE'JHT,4?$V;?B;JT2YK>O58!'G!+AEVFT=#V;)-,@39RKIR =(4#=MWXHSEI M3F Z=N3<=&AWHZVHIV[%=[[9KG=TNUO/EX_U.003))(F#L,L+ A$*2*09$4$ M\R @* ^BA"38Y%*[7RUD/*=%AC%D MA*40T9Q#'(08TB@2:53D."-:Q\ 68T_.C%3R 2F@18%=3;SUK(@G%'T?(;>5 MMCU4&IV!(X0=TJ]= 9K+\K2:(X]?;]8,DM8"LH9==)FMX[G^(G_ZW_^K^8W\ MCZI ^[__U_\%4$L#!!0 ( (B!8U=UFT8"%;( .@L" 5 8V1X&ULY+W9EIM'DB9XWT^AR;D=2_F^U*FJ/A1)9?.T)')( MJK-[;G!\,2?1B0"B 2ER*SK_\VU]^__PSN+_\UW__+__E7_\O@/_Y MT\=??GBS2&[TX/5].OWQ=_R"8D)>_=OG3Y;]HJ83ACD'1UH,27H,/K/XA3?:>QQ3Q M__GR+S;Y%#*W$))AH#)CX"(K8'4H,MN8T>?-A\ZF\W_\2_TCAA7^0-N;KS9_ M_;>_?%VO3__EQQ__^../O_X9E[._+I9??A2,R1\O?_LO%[_^Y[W?_T-N?IM[ M[W_<_/3J5U?3AWZ1/I;_^#]__>53^HHG :;SU3K,4UU@-?V7U>:;ORQ26&^X M_BQ=/SSZ&_5O^+K'\VU]2 M_G,%5:S,2U;7_+^O_^4?KY<_7>**,+/9[B_TC8O/J*L=1 K^N<9YQNT.+Q>9 M+=*M7YI5_BZ6E__F+$2<;;X[R3B=;#[Y55RMER&M)Y[)$(6($)DG##*4$"WC MD+5!':UP);+;.Z]4KXCLC3A6F/[Z9?'M1_K@'RLWZA<;MFQ8^*]#=V+W_CQ-"SI@R!]GQ:6](FS\X]XNE@2'Z3RC!0?Q)@,*<3H M(5A10$AN9-"91V.;"/_.PCOA0/2/@V/XV0DD/N!RNLAOY_D-7<43[J)Q0EK0 MDG:A>+3@#2=@9VVU",(YADT <6O9G> @^X?#X;SL! R?EV&^FE;&7P#:*L5+ M))O*5O6F%',0N&10%9\HR: +;13$W95W@H3J'Q)'<71D5+R=KZ?K\Y^G,_SM M["3B%&L3"X>A8:[*^Z$ MTO"H[B8!?2_XA? MII4)\_5OX81TF@[:J8S (KE7RFA.-D\1H%U03)NHK-<-$'![U9U08'I'P1&< M[ ()[\BE7Y(*VS#^$_$?7R_.YNOE^6ORN"8BH?5&:S ED.6C+8.@R8T4 6DG MBIFBCKLH=B!B)YS8WG'2CL]=P.9S^/-=)O9-RW0;J[C0A-ZCUTDXP*@(_S%$ M<"(:\)+N0!DL;2TT ,PCR^\$%=<[5%KPM@N0O,J91+"Z^,@" M20A.OI02X-!$L$F2?G1,%M'"V'A@Z9W X7L'Q[$\[0D8K^G+]\O/BS_FDQ(T M@3LST$71%KPGATHZ#YB3X%HE[7@+"^3>PKN%KMAW@HH#&=H3)C97X_OEA^7B MVW2>Z&9$$:W! )(Q!Z)#5S2DH,32R.A];>#1X=!SP;L75D M<%2M]VJ)86M)NU1XL0F\S0(4%OJ*V:H!C=4L6%OTR MR.L+Z>S#U\7\,@*#V8GL?0&A?08EC0.ZX#S83!RAO[*8CHMPWUUQ-]%W',H\ MBH4CB_\3IK,E09>+^'FZGN$$O2JV\ \JU*O,@'!F 3.J2R%SLJIX\1_=\7= MQ-]Q#/,H%HXL_L_+4+-0/IV?Q,5LPC!H& M*^3ED &3HX^>ER2/@L13J^\&C>Y#D U8VP5$WLWITX@=TV_X)JS#Q;8F5B?% MG$/@D84:267@57!0[5_CD$6CCM,:3ZV^&T2Z#T0V8&T7$*G/N,O788U?%LOS MB8\ZR:(%:*(4E.8%0B2>R, TTUYF'WD#9-Q:=+>TJ>YCD(KB=N)Y3X[2YZT9LA( MY44+3O@"LA3CL41;E&H BJ=HV TD'4\<__CN<3502W M00CP(B50J2 $9C,@4UE;NAZE::$\[BR[&S0ZCEP>S\R1T?#J!.>Y9A'_/ M? M)B5ITF\B0W%D&RF9- 2?R%!6BF7#D$N1CD+!K>5VDW['XKQ]9>#WS\A;YQ<&$VV4'S%6;Z8K6837,MP/\IS&IE.7E:N%[]/@]G>4K? MO;V374NW=__X-L7=!V[GR/+OLQ5\">%TLLF4JSKD??EY.J=5IZ1(%MN"KRL< M1NT9.1T&2GTT4S$1;)S2D)GUDBR1&)\LFBEA%3<8N5AT>QQQMEY=?N?Z7.Y# MUZ%:YW*-5ZL5\?=JE\ZH:&R*D+G.=#AT!$^' DI]+52T?9.>TC>'[/(V!>,4 MEP^&A$N-U(#=!^LBTJ9Q<>0E=9O^"]UZM0V>311*&/+(#8(R7(,C9QU*5L8Y MZ0O'I]Y@#T?-'4+&!<\QLGT0)L>PN0NTO ZKKZ_FN?[C[7^<3;^%&6UG]6K] M.BR7Y]/YE_\19FQN^""CN&F'M)-0!WLBWWK#D[]/UU]=GJ_7B!)>;PWMK4R8'DR1RD,G0 MIB0=XI[,9YFL^7A\G7K3- MQH/SOMH5B=5:A C(@DY<.\=#Z\C#X]2,>Z>. ;=&DND 8[\MUGA79],YD3)( M.B*!C@2HD#QX$2QHP1/FQ,GE:1VA>(B.<1IBC8FKHZ5Q.*(6ZS!K8ZK=8,]F M/^1%_[((\QO[NCPKR(VAR]] 2J(V!DL"@E(91/#"!5,*BN9FV\[4C=.(:U03 M;AC)[8])O\7D'+_4MXW/S;V(1S;W&ZXO]Y?)$N ZQ-I.V8&*:"&&6,!'4NXL M%$^.V4 .Q;/$C=,;K ??HJW<.M"5[^;?B.K%\IRV,"%3P:+4 KC. 53A$F(Q MM<98)6E-CN7)9@V'8.[F^N/>MNTC(P?SMHLX[8B0)0F>:F3+;*UF;8#6>/>F^UQU%H273-=G2Y684:VY]GIY?Y29,6FDL&*FAR44X"02X"( MWF)Q(D0[S)/EKA2.>R>V!]V \NG Z;QS>%1DVJ0"(H4"2A*+@D@*ZG *QH2R M++=^@]I?837/]1P:.X=PMP.+Z/;[V?T'V-\6\W2ULQR8U1F<,J1TK0C@-.T1 M2\Q2!9UM:/T2OCMU/;QK-DFN&$@@'6BA:B"NUB>;9_V+6_UZ,UL.3H2)E@56 M2S*C L6X@B"# =0N!;3$3_%4_Y1#;?)GR.KA$;,)N%J+H O;ZOTIUD[&\R^_ M8%CAQSK#Z7WYG4S'NI])(3V.W'.B'T5-PT_@C"Z0I<@QR>1%\Z?*)PGJP>UK M@J5V;.] -WU8+F@[Z_,/LT '89ZKPCVMYZ0ZLXEEXV22@":0M1>$ H>:D_'G M' L8DY9/-1X_S.][G)X>'+XF"&K&]"[4T-\6B_S'=#:;*,<8_=^2 G4$?:\] M7= B 5IC@T]*A] ZEGFY=@]N61-H',3,+F!P(UIQPU23: MFIH$3X34:RR R M)<&5Z$N=":CQJ4Z@!]U"#Q'2@^_5YO8YFLU=H.7"YN(^%E0Q =MPPM3NQXF@ M[I-A9'<%76QKLWE[,;(#[_N7:8C3V70]W3RS;'H+?%W,B.FK M>A>NSZ]84[Q*U@D/,BD"MO*NOK,$\$'QK!@2;:VMV%UI&V>4P0 0&D0876B9 M&SN[&_A*06AMR$07=3"M(<\2/.:M+)?6Y-G _&",[!"%E-?T<>8! 6>!:F.@(F M/CDV^! 6!\-10"!T$FA\JG+BW)YV+EDH:L$X[4"E'K9,6=%3 ;-Z*:TP]!F)6#K)D M$6U(OO4;QH'WW6#AZ8$ ="2S.XA"/7D$;D17F7 RY\PAUD=A%6V"*%P$JTOV M+GNK8NN$V1U)Z\8L'RYP,(20>C:R;FQ)1Z]0! F6,[KBA4.(2*XN)CI./ J! MRK^,G;4GXE["=!\.<6T%T\&UN'DSNL&Z&SM1I/>SP$IZ+9<.F71_35?@*3$4 M,B+CS4WY1ZGIQHP?$%MM1-&% KNQC8D73FCC"AA3#47&!#C%(OB,3 OB"1>M M<71C^6X,]!>)G^_%["[,K).3Z57R7;W/2;?B/-6MI)!0L.0A)TVW=E*"-&F@ MJYNKP)53A3TY!.@PT^I1\!B=ST4"2Z4V"PVNUD?Q MND67?-"*7,W&4'J>JG&=^X%0U5@870#L/JLFVIAL@DX0!)F#=;0HQ&@M1!.= M,X&76%IGI-RG8EPG?R '.%QTOEF8P&VW@QH>-9+[B>IK(P+FUK>;3-VZO]<*C.)[8 MZ$O.Y4C>Y"B*)M6EZ=8KF5#+.8-$?\^YUK>QUO[/2\SEN%KC<\U!G1@F$RLB MD;6 ,Z2,9S##+XP7:YH6#L>$!C)-R_'0]F=P=!@8NTTMI.Y?SS M,LQ7=5 ['>"?SF_^Y!6=](D.VJ00:Q8SKU7#!<%GLBC(B\T*400;6B<^[4Y= M)R [ /WK/5!!-(9U-XL3L@GF:20HXN!U80>5<\=@RA+@L*B%270_TKKRJG[ M5(P+G:'D_02L#F!^9_#Y%4\B+B<8IZ <^A\CU"9@&E@)OI@ M:0>E>7WW?2K&CG0WNZ".9' '$-FET8Z.)BAO.615!\3R.C,\H '+BT]2>^YE MK[V.AK=R#I3\ ?V.]A%#!\BZ_4I(6O3]UH(AN)HLK[/3Q3)K4FP=!7^:HK$?Z@:$U%',[Q1*[U:K,]J)1&89 M#P*LKN5:.48(19%)B59S@=&K,FPFR4UJQGZ5&QQ"!S"]4_B\/UNOUF&>I_,O M$^9Y(.;1 MJSHJXYEU!51*](>7M73+%C!9EJB=E!A-8T3M0-:X";F-4=5:#%UD"]S8U+T[ M.T@T(F8!(6!M2B4<^#H&S4>FT2;C2VR=A_($.>,FX0Z'I:/8WI=VNG5EA^*, MK,_2VD8Z"@%)OTJE@//(F=0VQ>9MMQ\A9=QT@:&1T3-S?O9\YP*,ZI6 M- =0W'IPQ!5 $9PV0DM9!LR^/2C] M]"KIHEE"R7/K#)9,LM<&&R62O)L337BU\G7&0)1:!6> UT1DQW'P!@?ZW HS64[I("WD_ MDR&R#X='O,16RW5M I[/TIK< %Q^FR;LYQS0U)9V7/.:+&Q!YT2F M?](^NIW\>EK@!CKH;]?(>&SM3MX_#I#CHB%3^P#%)F5SNX/5Q;61Z'R!',K@#^_=B(Q>)!))S MGKQ*(+@GXYUS 5YX"X5I+F0JRO'6OM(M D9'Q[$"O3^AX4#NC@B-:F/6,4I( MJW\E@_P-?L/98C-8XB-].3_#R[0387E4S%\T"]>B0,"@P103I4VH4/KGS-== M%QOGV;,],@9A;@=ZY 'O$(4L6KC:1,DA*)\-!"_I&N:)B1Q"\,U3OSK/Z3G$ M'&G$X X@ZM?V]L\T.ZL!HIIZ1/_+G\.?DR*<<\0>R*&R#8T# M;U*-/SJ/1DD9L'W.^]YDCIV">@PR'H;98$+J0%5=M6Y[O5AM;OZ+:Z9]:?YT]21!X^JF83'5 M3A)=J*E/.*,???D;SHEI,]K4JWPRG4\KH];3;WBYK^1#DJX("#'Z&LW(X$2R MD#49#QA8]+QYR<9.E(V;SCHLU :031^J;+T\2^NS9>7;U[#\@JM)42QK[@PD M64U4&SR=&^/!1OJ/#8*ELE.D>C\-=H^.<3-;!U=U#Z8WQUT M)+KBSC;AX)?%:C5)/&@K">.L\%2SDSC$C/152-XH75P(@[G]UV1T5[#3Q-$_ MD,T=(.6Z3'*[AW=STEKT'>(+,TX$!MS(3,Q1"KS&""71;6I-G?TV7(GJ;5JZ MJ] Y!C--&-Z%LW594[NX?0HN#7GO@R2U*$&@9J R*4^?(H.D.3*KDC6Z^>B. M)RGJKC[G*-73COD=V#?7^O,R-#^=G]&FKO,P?\*R6.+V]SZ'/W'U]D^ZYDEH MTWE8GF_X6Q3U\L<6+$_P3SK%,UQ/-Z1PG9H"N!@$*F0.7ZUP4CU+)PG0N MK1-F'R&EN^*AXY%W'+N[N(1_P_4-XU/SX%F2"&A4?1M-"J)5M0^KY5)GC%FV M3DNX14!W94+'8.1PUG:@3R[;,5^65?X45M,T"2+P1)H/Z/Y7M6JW@%,$=)DE MV9HV9)M:X^-!0KHK!SH&)\>SN@,+[.XFWDQG9VO,$ZNC"RP+8+[0-KS60(YL MALR<9%IF\G9;MVIXA)3=GG;9=PJ:0_C= 6S^CM,O7XGN5W2GA2_XVUE- 'U? M[I7%;<^$+%)R)>HL>7)-5!0,/$=/BK0$%J4)2K=^%]F+P-T@]KWDU TGFWZ! M=W&,'NA7P13SM9A72>% Z2@A%MIHL$%Y$WWRNO7-MR>)NX'O>\F!&E(^_XG* M9H=IRK[7HF,5U [?IOVQ:LL8H]:*KE==-*DZHW-M82BWCL'4"!F8N&-WU.P7EO_?JVKWD^&QU[1Y,[0,4#U2$V:!C M9%J 8:PV]*KMO[DLD'FBK:$.TOP?55V[CTQWJJ[=A\$=&-BWZS^+"VA]?9S4 M-2[JR#+SD@Z-8TD&TJXB-Q_FV'UU[5X"?;*Z=A_NCIVWME,!J*:KU8D$S-42 MTYPCN9$Z@"DL918TBK1;\MIW6EU["#(&86X'>F2?"13H)$8G 8.Q-?670_1! M0T&-:+C@Q;;.4&H\ N:EJG$/,5\&%DAG4+LXB3&(A,Y;$*YFZW'DI%1#!AU* M0.,%7>.MLYB^YQ$P^\C[^1$P^S"_,_AR0A6DUF8 M2O:L>6W;=S "9B^Y/C\"9A\F=P"3!P*EM?"8ZSH$!VLS09D]G1LFP57;S=8! M 'RPKF:_[-4N8OC,VN,OJ",9W %$#BDSE\045CNS6YX"*"1ST1%MD'02WON4 M3&JO:KZS7@#'(J-!-X!]Q-1%@M"#A5+2)"^5B."JWE6"MA*SLY"1)QZ'I2$9_K\]:]R$) ME+$>E*LMVE!($%FK8NG6S;KU!;(388W?N&QBSIM$EH5.=$2%JVT/(YD7(M"_ MZU 'WKJLH*.;%:Q]^=V!Z75&_Y\[G!\7L]G/B^4?89DG/$=E3*Z#CRQM3VI)5F R M4 CZ&'Q&:5/[K-I]2.S$I&/>>>U$@'2>!OI"T'13Y9O/$\V&[ MP.:<;'[X_G235_/V3URFZ0HSG9C@E3 &+%F4Y)3F!"'(.K#=ERC(1^5A$*3M M1>6X]OF+(W$X"7;QVOO('C<3EA_>HJVSWZW+()3-U1([; *P#C#:27\\0O3 X:ENKB1%>^*P1,G(Z=FI;L)4!0PY!&4;[:]Z? M^5FJQFT?U@$(#Y50!][$J_R_S[9-]U:?%X^$_S;;BV'S[G]2FP)M9/L1B;6K MZ1HO4ORWK/B(:?%EOOF4S=&<<&8Y3X*!INV#\@'!QZ0!ANT)'_SKZ-_QC\Z/5Q G&N902R!S2Q'04$+(KH"492"[)'..+&KA7 ME(W;JZP;77V8I#K0UT^90=>;,E9FI5, +U.MA!*Z5D)QD,)I)ADK:H",IQT( M&[<+6@?H.T).'8#O\.M@8QO]LIA_(6).2 [T$=-O^&$6YJMG;XI)%L(:APP2 MUIRM9'1M7:F "91D4I6@FRO3<78Z;O.W[\.P>#$D=7#>MG=590KQ_'/XL^;@ M5W&0.J%O7+;4N\V?B?2%>2_KQ*M8'9!LP3EA01=6M'71F>;=[ ^A<^2F=2__ M8C"@&/>'JM]"=8Y?:@KWYR%NB(MZML^+77?LN+?2H@<;:DA1>@5.D.<<$\,< M+1?!M6Y$=@2Y(W?$&TE9#RK4?F!\N\$MEUY:Q35PC:5V2?+@#$_ O"XI%L&< M;?V^NG_OX.'ZW[TDU YG?!_1@7MOP\9['W7($#!7"S_5KJ4E@??)Z9P31].Z MS/[ M_G_'"]91PG@R"?5M_,\U--\G>]7BI4@R"^LN;L(P=-)*#)E'H1&CNUK M>PYZFN?_>5Z;#A=!4R#U4[0X?$_.G1.'<+X1PL4:-5X6R-G?C)^;9.N\XD[4:99T%+%. M$N/,@HR:K(7L=2ZMNWD^14\GV9/-<'*O)5LK67RO==ROP^KKS[/%'ZMAR[3\9U=B']1T\0MQZJJF/*?,TG>&M+7U>[,O- MXB2BXPR$W=1WN%P/*Z^#H[B(*@>/K/ M- 9MIFL'#/$5E)()CH^'12/1= &L*Z[\4H-; M'^N0F/>%&%9[K*U?G2R6Z^D_-UN[G&0K+<:<\.O%9'^\V+Y9G$6U^5L]BJEQ1EQ>L*\B2(D!GYC M\;A:2:RX 6.E-G5ZA1>M6X8\1<^X!3O=0;"9Z#K0?I>#YQ/Q;\O/2>!.VF(" MZ.#(U2/;&WPP"E Z&7WFRJG6SW;WJ1BW/*<[R!TII@Z M@WM?\)TMMRPY>=O MOTU_GR\QS*;_Q/RW,)UOYS*[+$1$ 2+6D5XY1/!1U'Z'-F!*S-CFC6YVHVS< M^IGN #F .,<>A;,Q:-^=G(;IS\S=8<\.G\]JJZ&?: M\*;HXGKOE?.OYO.S,".7BPR-"2_*2"4RQ-J72N5,3*UU0-GSP&.J UU;OSTU MW<"X537=X'Q\<'1P,C:G^@'.7KZ773VA35) QDI0(%#57B-908C,0M )F7(9 M9?/VFSL3-VXA3'>('D:H':#U?DK?U2XOBH"N^">XYJZ.JI7"65#%UKLN6^M2NU.W4C%[-T!]B!Y-I%M.G^WGZFVV2>D!B/TV_U7EE-, G+@U9@ M@R*/4I);&0//8%A14?/:;+YUVO#X_(. M4;VU:WLA"!XCFE%MODWH[/Y^WIZ3 MP@531@G(J=K3R"1$N@I :Y.2Y8Q.V!T]^4C0LPT]O35M:PK%L>363P7S PR^ M?/:BIRV6^JI 9C%G"8G)D0R6UFEL^]#76[^U%]*: MC03699CGH:FBEQL\GZC,9(R2 ]T,9(UDD\#QJ.N3A-8,B96J=7W7GB3VUD;M MA2#93FQ=A')V3Z">6,%#870+Q.Q-;2:+X#-/!"3)3G MLI/1-2]4--9*7%UHR,O2W\^+5^D_SJ9+I-W205N?UX9K-8N@/K:>;IZ>5([6 M9\^!(:.;QB=3M7\&GWBT.AD=1&L-N3MU79:;-4/*(_7:C8761=R'MI(0\ZJ. MIO\49OB^/+ZYI)GR+FX&U-7>4]R#4R[5^\8F+4LLN7F;@-W)Z[)V;#!(#B2V M#IR;>Z=MX[=M&;GYP22CECP;#B$K7UL0D;>610(RBD6)GA696M<_/$M4ER;C MBRG$HT343Y!G=S9. B9C;7!UH)JO;:[)T$$9 $MD,O&D%;;&X.[4C1L6?V$P M#B2T?OV7[>O[PXP47BDA!4*TM2U-J2"I?)0^.^"BP=1+:_E2.JRM?VG]I M):X^_)>;=L>#4X*,XAJE-A"=<60!,P[1: LR,!]RC$DT3X-\EJ@NO95FN'C* M-#Q:1-VA[K);%IW>Z]GL$R>CT)LZ#H;$,)D%!%F0 MO 3JCA=11V[(^W+%LFV#-DO&:Q%D1(0@R9UR0H"3(8/UW 446:4RE/=QEY8N MG8[!$-9"('W$7"YVLG?S[\2Y<-[5N>"1K)-38_&X]D-8N M79"AH3FH0+MWDQ_@[H2LZ,Q*K.TKC2)[.O.:[!&!:V%9CJ60AS>:/S)NRLX+ M8W0@H77@)M=MU?_7B.>W,-L>1.+8-!'JZP]>S?/M;]SXS>U,F_LO\VEV5H_N MVS_3US#_@A_I!+TM!4D(,;-H3$!@IDXGU\*!,Y8#&I.%+"Q)T[IPYF5W.*[J M'LP][Q@FW_LAFA2>5!$Y09:T8S+F-9E@14,RQ2?+. ^^M9H_BN!Q-7^?$-]+ MB$3L]'2V86687;+RW;PLEB=;85XRU6'002.'Q,BA5=IQ"#)H8/5N*3X; M7YJ/*=F-M'$3-@=#XA""Z2"8]6Y.GT4'J,[,(T=@(@R+3*($B=EO8W&^H 9- M+H4N(5COVR<$WR)AY,;G0XCY7K;OX3SO C*UU/US^',[:7%"+F'TWAL(1A(K M,%LBO_Y!+B'765EO!\@AOTG"R&F/+P*9PWG> 62NFL!=OKS/\U5XX1WIZVL5 MS17QPM1 1L!Z%IR&*)("YVA;F$7*N74Y_\[$C=O]9[C7Z4&$TP'J+BHT-G6X M>;H^(X&]V];XY)_.UK\MUO\+-SIX$LBY88(%T*F&M9R+$(JR4)+1W"MF4+7N MD;\K;2,_4 \#C7M&_@!RZ@)_&__DCE=RQ;(<,OIH&+B\&9UG)/C@)"1I4RI& M)I1#N)B/4S1N+ZA!?,<6,<05*1C%+E# MVB(:E90/Y(8-M;O/.W==&F=HY3Z2OS^C_& V=W#-7N2>TAOF*V%'3 MOG\ZO_F35W2R)R9:;Q.YU2G2]I0@+SL4SH$L"8'%%_2E-8!VIZX3 M3\#J .9W!I]?\23B>] XF-W.GW MRR]A?C$L]=K-KX"=YP\WR+\JO@JSZPC =7V"RU%:KZ"(VO6!;A=P3GN(2M.] MQ46VL?GA:T'XT8D/H3YGOB\7/=.(C EC3(G:^T('4>C$:4,ZV=-7V3-12M16 MMFX!>I^*;XHGZ9? MYM,R3;41T+93]'3^Y0.Q/]6BIP,TW%'KM5"$[3;<2%_>7^8*L&1S%95XJ$8S6JTA(X5N2/@A%/@R5')*I$3Q%L/J=B5MK'# M2^TQ=#_F-("4FH49VNJEWW SVI(,RTUI_R%*Z>Y'M-!(3Y+52!V]#B'OGS@+[?;[$ M,)O^$_,F4VO[Y=_"=+ZJ-\9-Q\%9'Y*.""G7_-7:*SCF*$$99JT63NKF3?!? M8E]C#^LK?1F MNDJS15WL1M*H#B$([H!O)MYP*R'HS,&*K$RR.0?5.I+]%#W':M"'N/IN?GI& MQ_)JL6NDR^@P>FV Z6A %?)98E(66$HVAIQ8-*T#6WL1.*Y.:X:;NUIL."%U M&^CZ*L#4^A5X^-ZFX+CDWN)4[4],N%D^\F_+=;XD''/O;>N M%KIJ7LBXYR*#K\TTDRX>62F!-7]4V)FXD>/OAV/B?BKP$.+H57LL3DZFVQ!9 MF->BQIH^@?-#DZ.>^K@VY9<[DMM(U=Q8[]6=]:X!<84Z-%P)0UX^UJH[E4S- M8]$>F+,EIE!2]JUS#O8B\.CJ]5T6NSX>V:"C_R(8C@J4M'2YBMK+Q*&BB]WR MG%L'R_:C<.36'(-AZUZY^G!RZU2M/59_=EB^U".?U29K:A="F^5./;S8]>BY M%)R-3$%B.H,2DD/0]6I+N4Z$LTRQUO;%JC/^&BR_+9!<:^]%F@2#CM\2ZV:8&PI^(BGB^6F<=\E,&7D/I60@!M5X;@! M#))K$%2Q@F0N9/-"R4=H.=I3O/.Y#YT/71^=K_VHV6_Q1'QWH +\FHJ;K;0[$(9KIT<]J MH81V([29,95P^JVF>UW?@:I(:24CRSES29:S0JA5!Y"20<4Q>L[:)YW?(^-H M-^^*=5>U:-?Y,C=R$ 7=PZQ$8"FZFNY2:FMF#L5$YWAB$FWK,9.[43:VH70< M+NXY;^VET:E9M.F8=I;69\LZSO!K6'XY3,<\^#EMG+7G"&RF6VXLM$E V]C' M#TQ!(]^?Q9("Y-I"A=SS3,B2 A*BBEI+JTSKQ[V=B6O2B?.IA1ZZ<:,V+M;F M\ X%'37O' 26&!262AW6)J1O'70ZA,ZQ==00^'JP>>>0\NM4C[TBFV.]^F\X MRW7899@=5!!S_T.:6$A/D]8P86$39#S#?%UN3@B@'YPN5F'VM^7B[/0:9,EK MJY(W8%*=_"G00E310,#D3&#%:3%$AL(>)#9(2;CQJ5>C\AZFXJ%CX5(6-FZZ M9.D BO'ZH*5*G>NK E/:HV_MQ!Y+\_A)"4-A\($LA)>3;J=*[YBN!&.U8^BF M+<-8[1E02AV54Y ](CD-EH-GR$'G(+(PCN#5.E8T7'N&C0#>ESL+G&__O#YK M(GEG,V>@C3&@K-I,2/?@D3%K5)*N>7QL-\JZ;<^P#TKNJL8!A-+%E(#?5_B^ MO%VMIR=DTJXF$3TF*1&XC;5_3AUPR\D/YUPD+64V5K5^.;I-P;B-^ 8"SQ%, M[J AWV_XQPV^+!=S^C)M"Y<>/@3D:6DN;#T$-A.KD*P/33MUG!N;1!+%M ;1 MOC2.V]%_()@-*J@NM-7=IXJ'M^652S[Y %;4-CQ&*]H6,3*1/I:1:V<-&_CE MZ'#0#3:#?2#0M1=)!RKOWB7ET[1^_++8O[EE^DWS-OHP]T]!B%R MQ.*)BZ)V2$ /P3(.=3*\YUP3$TUCV!U"Y[ACT@="X> "ZP"4#[OA=S?E0G19 MQPB!,5V?:#8OM;0]4Q@:;80K+Q.#.@1V@TTY'PAV[472:53D?E.T3:OJ Y^U M'OFL8;JW/43H"_=P4[R^,&12+YLW39\8A,CK,X3FT03AC&YMD+Q0#S!RDS%*OOC[.)MNCV*= MF%QGZGV>GM"OO"^?Z+NKLDT7OKM]+\A,( >=>*Q 89&T<^>!;!.M,#*#9:#; MH]46QHVVO 2LQY1YIR;CG:Z5A]N+#W_0 (TU![04'VVK&$SA$86#+ ,CCT!P M( E;T(QG*Y4U.;4.&@S57O-3^HKY;(;ORRMRB?)T=K8FW_NZ%=K;/^M[,N;M M03PY/;N<%/!X>TB;8[;H.!C+2/.;X""&FD3#)9)9(I.(S>N$F^^BTX:>^R#O M7M!O7%%WJO%V::1YN!K]^;K5<%F?KCQCHU)V_04(T&1-5#E?MU>Z8$DE*E5S.D##7 MTHT2(&03PO*_*+BK93G?E@/\S#E>13'S=8 M^\X!U>#3S1B1%:6KAY(5.0DFU>?;8"%FQGQ,T!P?C__ M6(](S;W>).'$CG'!FG:>O8C08 MC4)IG^/58/T][SLT#[?1OG/Q.LZ59]R"C8FN?>LS^*@T:&X"PT*^%&_=JFL_ M"GMM%[H/&!YW.IO+J(.H\?7NJODYIU\^?TVJ%"^& M](,54^:30"T'-B'$\2 M8M+$4?06162FZ-;EJKO2-L[SQ4NAKJ%UB MW.)L3L6P6GV[B1$)"-)8.D@V>ZXY_=E:SSU/U3BO"<.BK+$LNM)G?ULL\A_3 MV>S&4=&:*([D)I>0JS58>X#9^N82;7&>BV);MQ=X@IQQTC)?2FL=Q_VN@/0J MI>497CT37P8@;S1\4^31E.1 ,RU!N6PA)!;HKX%)IEQ*IK5#O#MUX^1=OA3, MFLJFTUC5PZW2#_< G_R\X7J[#QBN.K*#MK"A8*2+SILN';>^\_M\2E+9MNRXFV#&47F#(8&.HEI$KD"( MS(/PP9/L8DBA=1+&D/L9-XNPB_,R,D@Z-6">Z#I^N!7S_(<.W#!]0'MFO];6 MB6,VKD['Y9LQV!$A9!X ,_>>1^2*C](GO,D0K.NS]7'ZY>OZ??E]=?'Z4S-W MD8[:=:+C7=L_BA!E(._"V-I2-R0.KHYV$W7*DU/:9.:?@]FQ1'Q//=+W =*M MH5HO):0.P@*;W=3+Y*Z?F95EJ S='QXO,C*2E$ X*IIL'*M%ZVR@1T@9]QH> M'G$M)=$%H.B@X$45W_S+9E=7%0F_AMK][9Y-4%*N;2\SV&QU'<_BP0?Z*Q>R M6!538K&UQC^ S''3[U\2B,-*L ]'Z.ST='9^S=2[KU V.R6, N6YVF;U>H4: MI&#%\L*B=+JU*_,D1>,V/7@Y\#642Z?>PUZM\8^(BAZPS(MW_A_0YWBTQWMA MS$CD$7+D I0.!3SA%;SQ]&V>>'!#-\1O'_>\N\(-'O]T?O'#&X6JO&9T^ B MA0 J:@?!)@TEQ,0+,HEBP$#-/J1V.B=@'PP]$5T93&@=V(&7VUS5\-4\8:T8 MO(BI3E?_^.F\_ODS\7*QO!$;M844:K088XW @M>-Z*8.@\X5$UX=?K4DQ^Q.:Z9W\W?S//TVS6=A]O-BB=,O\]>U8<^2#/6?SK=?WNBH M(X5F(9<,QE@RU+ECX*V@ORHZVK(X5X9\W1Q\?^/Z3 ,;#YW!H[/#\XX$/?\R M)>_B*FY[E<%UVZ-4R2?&M(?HJH;(S(!SB?[J91:*>2_+<,E..Y,Y;K>Y@:$\ MC+ Z=?\?&TIUN*?_S"<..4EKT*9@]^^%*2\SPDN'6AK@T=@:(/#@ M=*QM8A4ZJ62VIK7WO#-Q8W?D:@.R8672Z87U!E=I.3VMG[(H/YVMIG-<768_ M'W)=/?EY+2ZKW0EN=%6]7WX)\^D_-Y1>NZ$5V_-\<_['^W(ULN\3?0=O9VQ% M[@(+2H/,68)*.H!3Q0,KY,+RZ T/K>/230@_NB_^V4G$9?7JJW6Y[8RR=>HG M-;[),_D>3)D "I%!*%P!=Y8L/6/1-Q_5^S@UX]Z3+X^Q>VWQV\BI4RUWO^'M M[9Z?B\NHTQ&:;^\UANGDN\_&7KC#+P^!6UL=.L<<*,$L!,\\2)UB4(DL,]U^ M?.7H'7XG6>BH941(O(Z[*5J!SP*!,8XJ>L3V"]EC9IY_O7M+H MP$&X4O.7ILZE6GY%>F BF$&K&0,7-1F@AI.9&PP',G%]I\B:/0B ME$9ROQO,:B:$'A"UI?W-HG9AG80B@U5UPE+*1+P*L3I*'!S/=,22=I8U?Y2] M2<#(*0#M!/OPQ)<#N#PB1#9AEM>+Y:7M]RM6HW 24XGUJ0 RM[Z. .$0(YV? M(JT,WKJ4<+> U;V/[B(!Y! 9+9HQ;-2GE6WA\W11\[?"*9ZMI^GV3A1:&UAM M(QY4K)RA"UD[LOU-4,X0,:CR3J)_8I$N,BZ.!4$K)HX*A]5R79MLY+.T?K^\ MJ*+<:$+%,VV=^.!MK'7I!&B?$G&I2&\8JX07]]R;O8P>KB^!0K4DJ< ^9$'$$?:1/:@Q9!*YFTL6*GVO3= M<'*?@''NDS8RO0^0(QG<@:UYL9$+/5@[JJCL56VF6$<\B0*D_NI?,FP2,CHYC!7J_']*!W!W;QOQ(K*?5OX9Y?D,:=;8XW68@;)3KQ7X\R=)J MG4"GVIHN).*,U85D'(P6)21Q]\'K$=-CA\7&N63:(V,0YHY\VUSY:#>+#C;J MU0:O5.WL7!QFPKDMM E#>RJ9N>R--6JG!X1G;IM'"1@W&7,0TZ0-L\=&S/TB ME4OSGM?W6>((4/JDE" 5ZG=J\_X<8AXC8+P;J)%@%ZVY/#)4 M7IW@DBA?77IJ@2N46//.A*QC+@T$)35$J:/ 1/_/+33*[55'!$4;$2Z:\+,# M<_7MKV]?75E367-1R]F[^LQQK(?V0CZ& M51V<^4?,J%^F1$Q_IKX([YJR)W+ !9D4_2=.X MI0^#/;,U%44'T'KFK7L[_ZLFW-=DZQ7FS^'/B2LN$J,86-R,P:9K,_CJ]67' M8U2NE%A>-D?B(3*[?.<]$"Y7?]S8?M/\J"=7&"8[:O=- MO7!NE%6*&8()<+/I Z3(0LKT!]VA/(0BF>*M8Z,OE!OUZ##CORT7J]7%F(") M&%MJ$*)SX9R2"$Q&A#V3"19 BA M=2N!9XGZ/L:*'Z7 FLJE!Z ]P*FK%FT3DP39DRY %*S.7:>O/%<2>,D8K6>J M[!:C//*FO")H7&=TK!OR,'ET.[7OOJ7\6UC6+C'?VI9$W/O48F[OLP\O?!T?J?W\])+"9+VV'Y^R#X4CCQ#8WC([.,='R>_+MK./<71^YR4B2SF34]TZ3@H M)A1$LEO 2F9$%BPFVWHZWUX$?A]VYE!*\SAY]:XL7Y^=G,TV88_789V^_G[Z M*O]O^IU-H^G%!>LON?-VM9Z>A#6^+Y^78;ZBCR0(?%A.$]:N1D%$*2"5.H24 M)P'1,@W:)U]8$3J7UJUJ7F!;_:KE(T&YCSH> 2&]A C^>(@?O^$?%X/LIK@B MCV33H7V>;@R ^D1_KLJTOE_==6PF.J'7LE:%^SH?DK8-,9D(,G 18^8EW*V* M?"9XT)[&D<#$=NZ/MX&CW*%NH&#XN'8FRMH,-8G!E*TH%0B[>]D F6%)W#;+$3K_MP]M 33AKGBG0?-HJ]7 MG08GZ?AH'0RCBT\FTWH V???$FP?K.S5$FP?:?31>N%VFP$CC&*\-I]EZ*HY M;B%$G8 )ZZ*5UF6[D\,V5'>.<1I^[275Y[IS[,/B/B#R0$5Y4$$[GAP=FYK# M63!!]"(#CRB GVR.\<^W!T[9+)+ PFCO#:6&;+X*V>$S>"T"F"* M0M1,6:-VBWU\I]TY#D'&(,SM0(]<^1N5,]NG_?O>1DTO2G5ZU_2$?N5]V?J5 MVZCBIW58KM^$]58O,^ZY1!/!JCIVAAL)7L< =$R4,IG9@JV-X[8[Z+AEV2%& M40=B[@#DSQ8=!F$*9\1:'C9-F'2$R)("IJ)D/";B\POY=+_L52<\3H.:8X#8 M5!0=0&NG@S6Q@BX"D24$LEJ)8W4:5QT8&Q7SNF3A16C=ZWDGPKIT 0_$PB$: M;R_!?"]H>TJ-;S/W^(0,6"!??\--Q< I+C]])<1O M_EC]MEB_F]?F")BG\]>+D].S]<4(DC?3V1F![>+?^G#Q;QWQIM)T_1;R&(XA MC=YCWH9E5097:UT%U764]0V1SC9I&%!DE=49GQE$1).+1\&;.UN/T=)N/NRK M^7J:*X^GW_ 3IK/EYO%_V[H#\_:AX4H<[\M=@K86:@H<2=4:,)BJ$U[;^!;- M(26E4[&2V^;3:MKN8%S#K GB'I\J^^(B[L!R.W+//YT__ $;;]PI([71#EBL MLW>]\M4;EU"BE+4^FKRUUE7% VYGY+D2(Z)TT2=DNCT]OX43O CI*EN;4II, MWEM]7];%D-7M%& I@2>^J3%[D2-P3=.X..X&/#N!^D!)=H#,3^M%^D=E)SJS.B0AZ:?8NA*P%>TC#Q7Z3V,! M' :&[_\0O#I9G,W7$QLSLE(\!!\1%">U0DO5ZKBDA(U"VK!3P_B7.P%;PGM4 MU$-CKBWP#P! IU'0=_-ON*WQ64WGORWFOX;E/_!BQ//U)7I\MY^#UFD1?3M^ M@XVB;#<(>8.QEMJ^_8^SZ?K\ANU[&04)R23'100I2P85#)DJ02C2\,%989), MN77B\^[4':M['Q+ ]B8K7#A?C*5C7#-;0J2O$G'!.*^"]Z%8U=K'>I28<77D M0%BYJP7;B&+L@2Y7YM261[_B^NLB7W/P_G<1JUNPS3.16M%6-;CD:[Q1,' 6 M"^@4310Q,BN;3 DZ@L9QD=@((HL1Y#4R+A_;QX4[:E163#,+NG +RG(-WF<+ M1EEFEH*L&AY*BL$#9%QYXSV)Y=93SLM!3C8@B>=N#A7HWT M>CT+J]7[LHE@;0Y/+6,PT@K(BDZ0\HJ!SXG<%X\NZ()!B^9/EX\1,VX@INW= MUI;S'4#H)OT71XL+1"\-AU@C3,J@@""+A4*GBI9XCZ%B+J73QX#1'D#HP]"P$;G::$+Z/ MRGFW(C"EP.E$;S?6R+>+N/U_S!C:#0Q:7$@"5%&['.@D0]0 M/+S*N!,0VH.B 2_'!L7KQ(__S]>5(6I&M35;7//::6\^SAL", M@:P=+R:*E+3:"1&/+K$3'/3W (ZON/ADKBW/K\*+[G(O0TB0XZ& MO#\7:R%O9I"Q#CK%R++;Z?GEF=#<0VN/>X6T#_8>S=^1\?$13\]J/?8*7WU9 MXM;ON[.EBW.$7BCEI*RA(=J4YY:,[4P*,&*QC%=[>Z<*O&= LS-!XX7GCI?Y M8F@!C'T#/1EI1,TC<40 ^NS)OK(%?(H,DHU12AT3Y[MU3^@S>CN01'<.Y.[# MWBZ\XHTF/G__QQSS;XOU1PQY.CN_5M6;X^6#L3Z9#-J1.:Y<+N2R,4M[]%Q$ M)D*PK;LO[D38N-;O0 '>YA+Y'F!VXUPRFYTS(4"(E7F))SJ2V0(3V9.!9Q4I M])<&V]@7WX#@V!=^!TIJ[#OQ$_['WW$VN]#212A M.)J8TTZ7X*V/[1P;ATINT82-8P/@U?*?F,/E: M-"*O[#$I079)&E(>69SEF",JG4G,0,L69_"/29TTV?T3_5*V.%Z:]?%M]^I(_>8H.^N(;$ M PON! ;S?5P_Q_)S9"ALJ;Y\3Y%96:,C^,@#6=R<(.QI&S$K\O-0ZO3D+./G M<7!SM7$TPM'B6C3@W=C>RFT_2^0<0QV)C-ERJ"FFX)@UP*(H*$L(R.XDQO7K MKAXGEL=]T7UXU$>;]-LMP7-VG-50C4YU."$6#5&;!"DX^@?:XGF+6I&#.^G; M[T/9-^%O'_AXH/5SG?K$% I03"JR8$+I$**]V]%+_D[31WTNF.[71 MWX?!8]\1N[3S5C*YI(V"HK,EK2B0CA"S8*+7FI-JE)[O='.TZI7^PEWT]Y+G MOKW2]V%N!V[G1YR16YX_U'?0&W,5MS5/*A=C4GTR\&1E:64@VI(VEW!0W/D@ M=ZH7VZNAZJ/D[(0D]WU<2*VYWR^0+HZ<*,62Y94A)5X[AA!_?,W4LMF(XDK* M6;P0E'H(A343^VYP.D &8U]COX85?=+KQ8Q^L%AN!'.I?*]2."X4KORQ,6O.;*&B CL'H?I,AC+ 68,0IY[;XO6]>=/45/?YT<#A3[8B 9=("G M#^%\TW;E\^)5^H^SZ1+?K[_B\D8_EDG(QD7O"DAA[_(9TYG3@ M8*,S.<<4$5O/@!EP._U50K2!="\(&-NIN-O0JD[U79Q=)D6]05KFA)A $O@Y M3)?_(\S.+F\4HV4TK) 5[>E:4:[4D3JD 3BF0J>^1(&[O;4<3$)_6@9*UL,WH#-YQ!42D#9:%%/13;[N'YPX=0&Q_Z6EM M].?+2*\#F&[R8K::_0WM=3.L:;K(-S7^SXO+QY;51!CM;> ,R-RN&:,UUS,I M"3+KE)ET 4/S#@E[4=A?PDH;0 XHIPY0>/&>LNV(.]^TG*PG[O79:KTXP>6V M8RYMNE9:T?_RY_#G)#$7BC4(CC0_J.(+Q#K)A5N1>6+>V]Q:31Y 9G]OZFWP M.+3$.@#E 7? NY-3^K+:SW6JUJOY_"S,+NX%7_-9'8O$;#J,R@H.WH0$5AF6 M?(K&I-9-K9INH+^WN-%N^D92[@#BO\^7&&;3?V+^6YC._W_VOJVYK1M9]Q?A M;-POC[+CY*3*B5-V9D_M)U4#:-@\(Y/>I.3$\^M/@R(E61*E11*+"W+-/'AD MRB'Z\@'H;O2E>#N:AL77^\'S"E[#;X2Q*+?_:.19!GO1<*HY M!X<+YO0S$%2409/,F98U+PQJ+:1%PRQY\+)PP=&W+C+O809"CD$9&3@SR0JF M,T_,6Q* =62E<.]0Z-9N_,N?@; /5H;/0-A'%1U8C,,Z#XAH?'!H6 LSN5+$'33:&RIZA%Y%I M0>Y6-(',#RMS]CX8*YO/)_RQ&H7L!8XC&H7LHZFIG9@GNSM9"]H'C&BW?UZ!9F4@2H79F-YEI58!Y M[@432@E>4$EY?\14LSJ]+OJ*'(R'P\4X-0"^ZXC"M8LII,1L(0=<2XX,7"@L M18 4I5;I_LC&5FUE1DM5.8GZ#Q9B!Q;+.F?L[./')7ZLJ=IW_(IMGWRGO#%& M,H-,0A!%:/YDR?8A9LIS-$V;83(VI$;13 =(>SH":+TG;Z$Z M$!*0Z1@S W(M:.] %E)C=K:UZW5\;OL$PW>.<;G::: #.!V>ZF)1"P&F6:+2/MKK-$Q_P])O"*NK)6[" M> >'W)_\OA;A\^$$-PJ%WRSXTVR5+A9US=N II0170B19'XW?U_W2LV@HG_P^V*^ MW/[U%:QFF[LA!$F^I?3,B$".1Y&:1?J324A91&MYNM\6LIU@CB5^VH.N&=[N MGW/3*+>#Z_F&\5??;G[\OS-[;(80V E.&R)D%PB;JZLG+/XZ_W)UN5I+3&S<>V6R]0H$ MXP')T^,"6? N,BY2QF\J=0.E$$R.7(F M$4G!A-'&*XFF"'4"<*D>'B"F!=\\U_^K@:*O<(';[MNA!*6A M5O$B,:&K4>&50E9*D$K'6EK9NHY[-S6=G%N3.@F-=-4!ZMXC.?RS=(GY<9X> M_W3;G#L;XV-2+//:RU$9P4+ P%)1T28.SL3V95V'TSOQF.]&F'E0W'4B!78 MUM\6<]R\.?Y\-<];+AQF90$XLSZ2^#(""UQQ9FJ>5$&,5K:> _(X)5,W'CL5 M$NX_L1VOE@[ -2S]SM%?/6LUX,L.0,-A85<1,E:"-U^(-*/E5V[%SB.R*[= M1U,=@/#U8OX5EY>S3;W9=L([R *9S!:K0#$MK&<>G&)61D=\ 8;F?<\>):1S M8!VJ]@>S<8[500= :G%1W"9CN)1L-E$SJ:&&CV)D &A85!X"H-/1M"YY;LK MM#E]?5S:TR&BA^VP;>IVV\QM=?/9M4!N>F"?4O<'8YVNG+@8-<+Y2!K* MN2(GM'@Z1C*O-9PY2!9\\"P(='2[T;6&K5]J!A,W,7Y/BII!8<]C%=@%-K]O MHW#V%687ZT3,Q?(#<7EV<;'XJPJ5_OZ:R)NMN\G\D_XQ+DHYEVB0UWDBW(54 M9_,BHQ4"RV O+!.YM:&\#'TOOP(?IL3^&0Z[\#2N,_=][S3,;%:W;:UJ8R> M:T=;-1O'2EI/NDBTA;6U]2'-"S#:A-RZ5'=O(E]^U*L-DL?5;@_P74OX_^)% MWG!(CG9ME_RNT*7S9;&"B_5-=UZ2*1*D91B0;C>UWK%CR5LI0E!*Z=01L M(&DOW]=K!-41--EIR<-=0VQ;.5!M)WA@0AU1!['_(BV*(XYD[,'M57]@Q!^F&F9-+2/ CL Z\[L% O< MD=L3A::=7(U,KX-F"CB@\*IXW=J]_>&2AO9"PM"DH>%JZ0!<52[;#"I#^[#Z M0S(HQS1WF@$Y1,SI$"$GITQI#:C;U:<-Z4T&H@/%WPEP'HKDKHOMA#+.,.-$ M(:GPPJ*,CHE0/RV@518GLZP>KZ751.;981KI%F!GE]]U_#TW2@>72V+< MQU3SG4SMDYI8-IYKHX3GH76]W2#">K2Z#H3","_@"+UT"[;''@:=\CS)F)F- M=4RMH'.?C%7+A PE.!,AJ=:U[VU?=D<[X4X/NF/U\X+"KK61V)PP?%R;]X'? M/%: ]3DF1H^JH@W&*T>7JBB:P*%,;?/'64[D>9K@"#KF.1F.'E7=2NG;[WAY M0[DSQD6A"BL1R# @6FN:I*_M*:7DD8ASK9NH/T9'KS'3?13[V*SGH^3=1?[' M#1?OX:_?@ ZH&5S0F6N(6B-(&MD(.G,-UFX.P#CH$#(HKT4>"S9W"9F^[_YQ M&MX%F8.%W8'-<\/$/Q?+?_TZ_V.Y2+A:G8N@BZI=$D16BND4"FVJ[-=#ICQP MG[!Y#<;CE$QKS8R'F9DX%.@D$AC4_6 M0<#63W9WUY\VC64\@.PKVL-AL;B$B[:PJ#[<6@7O21O+K[@Z]Q@-O>EG5AG+L]Z'N=&];)MUCDA U,48IA6W#)*R+(E"T,H";5'/R?:$N4M; MV?U!BVUG!V2E\H56R<'3FU;<_Z2O6&1$\>RGH M6=/BK3D4AD+M0+U,/8N(OF&QK/_@VPTGVX2&(H.22C!E)7DC=9:*%_1'S!Y, M@"*32X/,@)U+=(J40S6Y:"[6#LZAMP@K_+2XR+]^_K)+SU^NZ.ON[XQ@4!3+ M(Q/6 M,(Q(:ALSF"S8$+*Z1K?9WM(&7:*.384&HA_ZFOK7>ES!+><$!2^OEJ M.9]=7BUQPTU2,D(]9T$A276K:D.2HUUA;,7=Q M]JS;%J2JG?4CSD=2U_8<+2A!%:>9#):NYI@C"[4EH=:&1[(-+;H1^DGMI&<0 MKLQ+PU5S34R(JM7R\OP]PL6;%>D%24AG*5U]OKJHHP-_0J(FS=;Z^@E7:3G[ M4G^\]8.OIRF#)7YX8,)55P3!TO9)CDS"6()%U"(-2MHF2N[ C?YV"[6CB>PE M\7:$ ,)I%?@"D%I[Q=URN-GFQ22+ 2-SWGJFP1FR";ACHL3BBZD#$ >%4!N M]#'ZIG$C3PR=/0%[M!ZG-O ^P/PU+"\6VQNA#O9U@<@NJ;8-0ET'V=3R"I54 M$ 9L* /'9'__Q7V#YW@U+AK)M /;;>?Y__8F1UE)&[4"9'9M+>1B&*#(S 1N MA0]%6=&Z!NIYJB8>QCUI /XPU?0,MG4S&]HZ00>;.3.ZY@J"C R,%DRD$(N& M#.!;9\$\35&GL=0#]3\47OLKHP-H[304OES@6F%T'7Q>+"]G_UY_OI/YSY]:C[/\<_ M.FN.6PS)1L$%0\LYV1RJMG_4M=5YM 91!J5.]F8Y-)WP])'>D8_-?1710[+A MYR\P6U;BWY6;MY!S)[(#K0NS63C:);0WHN9D#]/VL#86&9L/"GV4D$Y#P&U@ M=+SH>[AT![9]XRHG90RR8@P)BM?YJ8;^2,J7+)*UDK?N_-NR@=_IP\&-KLP1 MU-,+ZF[WS^M/L/R(9+ J'TR=EX >3.U7'VHIK63%UE%;SDIH/C?@<4H&8T&B:6WQWUU_$%S<"X7+ MP8)^04GTM?SHK]G%1>.L^?M?.U::_)/DM\Z+OY\5#44J+$40K*RK85=RQH(H MZU$ZRG(,[O[TY@%I\8VSXK<">K^XN*"+]"]8YG-T&3T=> Q2MDRGF%FP/C"9 M WC:*R4VGSK]"!F=Y+H?H]3[!\:QPN[@:53Z%A_+K?,4R.O<3Z@OR3=Y>?<'F6TO(*[PZ( M:.RN/+/*6-[+/LR-7N1KDHJ))[)'$+$V+1 ,2C3,L\\FG^_T])RCRW0B+ M'/^"JQ7I "Y^1ER]OEHNK[.1?U_,T_5?SBW7@'1 ,E]<8EK3(>L%1#IXO7DZIB]I7MS[@(I.KK2F,#I2UAV@9Y$UC0(^+K[&TTP'P=G)U+I+D*A3)#/HZG"$ M(P$ZAE \*A0^QS3.;?B0F&D>QT]R]QTI^69Y%6TM\P^7B_2O2$=RKJ6".%^M MO[ ^MUQ^^Y7$.;^,]KI/& M7B]6EZL/GPC>:TK_@&_K:M\[C:.L 1.1V3H#3Q<.+)!=Q:R-(CGCR;%L?8<< M1W&[9C_K-5[=U]_9<@GSC]1,&S (GQPKF;:H-K3[ MO2N%H20;U IG7&H=G&I&_+2!\A-B=G=/H5.JOX/[O1Y$M01D72YD!$_%\<*X MU8YIKP*+V2!SOM1YO\D2"ZT=D#OK]])&Z*00N.^J'*J/CK"T*2(RRNN4%##- M"SGD'C*+WEIF@*P77T)(I;6!^#T%$Q)WDJ(!80,<9@$T!(G%CXW"%/_C^B6LL6NK].-EU8 4\:SWM M,I[>WN189I0\ HE,AA"(8T,<\T* YS[I:V3H']7BJ>^EA,:7U>F+=OV2T M_WY5-_=&7:NSJ\M/B^7LWYC/R5#D+B-GBHM(]SH=^8$GR7R$D%/)CF/S8>BM MF9C8DSLQ"EMM@B:0^('VQ%>87=0CZ>?%\A?Z;R_/18WL5"]*V4A'4R3]T&4J MF2E> C?.&FS] #\6+Q/?%C_&#CD*(!UL%.+^\V*^?C!X#5]FEW!QS=AFT$(M M5/OYJG;"^W6UNJJO3.=> =F01A*#KO853F1;0IVO7?/7(D,L+8=\NC)T_&9&6T5%EO0 MR]8M3T9D9]J*[9=^Q#>"2:>9J3L>B3]_N5A\0US_=INT5",![1_!GUMIQ)?P MO9CLXSG<.F-X'9SDI;!D5Q0DNX(+)ATW/*%($EH;GC_*,_A^ZB_ ^OFFO+M% \K798YD%46(OT1 MN2,1>B(^<1F$ !=%Z_?P[PCX41[$]P+!_32X@S72 9P.%]PMV_-\[WU!*.)8 MQ< PH:ZC/16+]&-]2]8J"FVU.;F5? ?TX+["%CM:^F.K>,.*D MTIEK8L'6.6]",=#$@@:?2I1CI>K-.,J\R'3^I M=KG@QM!M.L9A/PHW+_[9\) ]TAE(NK@5GA)#W"&&W^#OV>>KSSWQN/OALF@\2+>F5< M?_INO?W;5]<^]N7CO24^RTH?SX3[<1 N<]U[7U$?M)?DQ3B&#R)$Y$)Q[XWWDS4,U_WD^W!.SXST?[J/^#@R3 M[U\5@B[&8R!KI$LR0'73H36#S4_Y//A7B!X\OEP'XUT *=1 MG@]*1LU%YLP++LG6SY8%D0P38+Q3@5NN6W=:_=&?#_>"U2F>#_?1<0GR4WJ= M:>/](\"CH5@[N+C^&U>7L_G'M1%0?!0V9,FXT'26HDTL.B]9T5+:R"4:V7H( MQIWE?Y3L@&-L_4.UT0^0-M>RIKV4DT/F8T2F92D,2/=,Y&QB40Y+:CW!\CL" MIKV4#E;CXW X0*8= &+'/EIO%-I+M-_>S?$V@?(+F(3@^L?:FQNG!4MZ]7<_BXBO^-IO7/+T;@6WW?JGGP7N@9(2_9*'KS]Y?9W+\:__%E,?\3EY]G\_6'[\H'7'Y=.UL6M(M),9_(Q=)) M6A;1"$8?(7<8@Y%[E'F-2>J@K>!^L*W0(0I>5('+>SH$R'^ZQ+S^_3_FL\OV MA2Y/+3)>P@/DJFWF='NY\Q*",IB]%JT'H/T)$&=O]&/CI?%6,KK (G?)=W&9+FI/3 # MKXZA* R@D/Z@W*OF>S[J/')3/9]9-H!(/;)FRX 7-2CTOM,0BH968P2F3&* MH[!,]GW L$1F>S[:.1%@.TV;UK1F1PT"KJ2)1D KM::2>&9*TG7 M+HDHK3LYV+K,9!\7;(=II%^P[?4\@!FD2,@2(EF)*@H6%>TV$[2PNDA!G_3R M@/_VA\MD/\)".['N7S+:'\M7$"!\ K.<=N6A0? MG;C2=?+[L=MB4FB\J$?Z/S[\8P7S_,>K=^W?YA_Y[O&>Y)]CI(^7^%HK+P#) M<9.6SMF(EL5BR>IQEH=LN%;XGY?XQ\U$$8.UQD0F:VFM#K4YL@FV-D:$Y)/- M.?#6I_-_7N+WQ.QX+_'[J+\#"^7[!SKRHXM7)#U5Y\7KZN<$!$]R5%"LES*% M_[S$MP;!DR_Q^VBD SB-\NJ&B:1@UQ%PXEP+1^Q[$Q@)$5 ' "%/[OV]\)?X MO6!UBI?X?73< <[)Y"Z+Y>^X4*R[53BXBL0AUX'31'*(N M7J36_:=WD-)YS&%TC"S:*VSJ3/\[/*S%MNF%5UV)#3=.EH12(Y/!9Z:!<^*& MKB&T6>>(W 7(S_E(PY;JW'<_%;Q&T$M'*%N+<)VH4KW6;5=.6TPLLC"!H@ZZ M"(J!HFWCC?5FG1\#@QLG/+50Y^7@4R'L:)UT<'ON;A2:(J'$T?DK@<2D8XX, MG,TL9NM""4*5T#KN<%P#Y^D*KD]]@[91VM2GV_L/9S7\]OYV[X"'6 IR9F0A MF5A+V\;53!LE"@)FA/LFVX[S[,%7=UZO?-(3[#BY3XV:N^?O3?+F]NS5GGLM MR6[4@$RGZ)G/+C,4PJJDL"BA]KX/[RW2>8GO9'?A,;KHX!["DUW4R'H MFTA_"%62M3D:/?R GWI[CZKM@T36@5MWMR8P>)'0$^G&$>-TL-6VK%MGNI\>F147O(M - [%/6&>F.##EG5J2A0U-PRX)$Q;!RII*3P$]?^]AE MH>U>(#BBT'8?C;P(L-V6==J00H2+B[66CEWVD DE[P^ZY3ZB%^GO-,!8G,I0?M"9\<] M%_2I)O2MR.J\RJ(QH!XTG)]$N[V2=O\90$7JS-2(W[%?#.<[BW][>*Z-NO- MQ>SCC&[;/Q=5'K]=75S.OES,R-B3V4=94+."4C!MG6,^DV*P%)T4V)#ML%S; M\6CLO&QE[!MA>KWW _]]ASGNDA0L/^+E$#&1:X^?&VUSX'D4!>8O*. %22]JDXV%GA]NGWVX^E*;^"V'"$K9(BQ7FID8:B\SE4C3HM3' MSHCD)@:EQAYA?3P7G1=MO:1=-A9VNMADAP11[@AJ_??5]^?0-L:R:75Q*QQP M07-2*TN&Y*+!9.:U5,Q*FU/P$5V4PS?6"2E_\9,=3Q]H.P5&>HG%':*;-_][ M-;O\5L.0RZMU%/+=Y2=<_OD)YIL&'K_05URN?KV9'*XMCS8KII4SMN\LW5WG]=^_I MU^?>B!P*G3+7<''W][6+Z>^+R__!R_>8%A_GLW]O!H)MSHQS MTH@@;U Q\A$#TQEJ&Q\E61VR;)Q#U+EUKNU)&!OV5,I_L(W4+W9^Z UU\TW7 M_]']B_G<)6L")\LVV=I\1FD2F4;'R+0-H ($Y5LW:9Z,V6$;[T=+4IA<['MA M[$7UXG_\TS=_UQ^Q>7?^0:N-UZ]_?V;[Z.#OBY%>U0&"Z!VK.X0%Z1.+7H5B M,$3N6C=-[J6#_Z M?W:Q_DKZZ5VYW=37GMJ:TNM\/PD^6+2"^5#GLMI$/X'6 MS()VFGLMO ^MG?XQ&'G1G?WWP?+NSOY3P:(#0^O7.9UR>).T_W;#XCII'T21 M)HC 8E!U;$(,#$HR+ >518*:. MR*5,W+#@:IID ,%B(2=8.Q65L(JV6VL0/2"B2^ TT"4H%\SMJM/>3L3>T4>+_*X&@ #2!K MVH3J\2#56B,'@^PK+N.BU7LD7M"O/OZ"#WGA:Z@*$WT_[R2A# M4H$DDSP1+6-BP8K(2A:ECLE.#G5CD.T_UNL$O85[,>H/UTX'U^@HW<"#+"%@ M;>121+!:GZC!S \SXFLO6)UBQ-<^.NX Y[OG7=@8,X0H MF9"N]@@MB7DI U/)0RK&V&1:QP2/&U+RLL9\[863P4-*]E':I%?XCG$9TKB MM<%M\DXPS0V9P(8\KH1"2BM0QC*LI^MA8TI>UBBO0R#40.[3X^:IX1C T:(6 MR(PA_TE;8UF@RX#YDG31H*4OPS*NCAU4\K*&=AV,I5:ZZ I5:\D]'' G#7>. M&\>(?#(V CH644F60)L,RG@YL&"CS>#!ES65JP7"&NBE"\>UC8OV]B9UQ'D4 MVD!B!GA@VEA?,Z(*XSH:[E722K6>@]*8A5[Z[O;B/$^)D [\I:)=#M1;=JV^O+V"U.;.C5DEP*$S&X)@FKXB!H)]2ED[*Y(QH'O5X M@IR)CYG#];X[/^DXD4]X-663>4#R;PRY,XKXE]7538DV!WF]/$I0Q,]12+B[VC0P.%I=BP:RF[IB\(_9 M%UQ^@'F^P.7K;>?P7(!P^(?^?;IE'VX MDA8M)39QQ^/W->BQ!KNW"I55F@4.9"9C?6O*(E7*,6@!40ZS#9YI]IEY6Q0K2B$"!!O2H*D-0R P=7/K Y5U M7]T'2&YBA?\&?\\^7WW>SER$H+6W=/!9J./28F9!UO&8-BH?P$B36TQ5^&[1 MB95^B,H6+>370>1I?$LI[#Z!G/,1I+)D]LGL#V M*"&]A$G;7 GM9-X!<-;4_[I:76'^Z6HYFW^\#K5=-YZY6[_\YF]U&=K_; MUH19;8=P.*T=/L(.Z!R>/Y:+A)A7/Y,F'C\.>%&FQ!09BF*9+G02@(OD MRQ8ER2CR,)GB9K6,&B/T;9:F#IJ5.N)-N+Y@(ENGB^R6 ,N $IY$3F&,K##]5[K3IMT MT@Y#8XN\(S1M>JX)M(;HE$Q$5Z=-6?+4"A#U+BD!1<4+*LY6_.CSDF;Q$_1S!%HR=E.C@6E@?QV(S%*$="* M?8&P:[%I._^.!XTFPNT(+)MPS*86; /\A,+5IA+$01T(+95D00A'P <)VN4( M:>\KYK&%INUH.QY(CA9J1P A+^#S;+5:)U7>#.-Y5WY9+E:K=27TQHZWJC[S M +.F>L%DR).MY46=04@V%]HL]=Z7S+"EIVW<.AZ(1A!\G[ ZF^?W./LD@W?,95^'J]:Y2SYY9D5$C,IG'#L#>43=Q,],2Q MU\,4TM6!-U_-2">;IE\)9U\QOYO70?,K2/7#]7XZ5\%[%6R=WLM+3:0#%KWU MK.CBC%:")Q@XGF#OM2?NDCGFB=9>]CV<8/MP>*ZYE[0W)$O!<-HWM?0@0686 M;+$0N)'0_"#;A\!AZ'M)D?31U-,!]K8-"C<,;MW@=>W N0S"<$Y>CL$BF;90 MG\0\,L>Y!1^DE]@\!OX$/<.0]9+BWZV$WVG/W;4%>KEF$>:9-D\="(OS-",[ M );7[6F.*;G8X^N;E&(S60VX/ XPRRFR25)]:\SEEQMBC(Q;*@$[DS,0<&FD=& M/@X/,8+*>: A-GC-B;,I1H/)]W;9."J8.@\4X>+-JG;IJHVT4KKZ?+7NZ_L3 M$C5I=MVS"U=I.?MR777WQW+Q!9>;3/D",J%"Q9!X8CISR4 *R;"03#W0;_-3 MI2*#,T>/(7(:<(X*F<44^GL!0*V%^;<<;G+\);<$)JM9P%P3/HD]GT$R$Z4. M02N;[S\*C(;1Q^B;,"OV=-#9$[!'ZW'J^,D9?:.4_ ^<+^(J+2XW66F#AB 2F&$/2(]]^S2)=A.!XUCI3@V/#S!_ M#4MR:[;0MD B@,@$P+HKA6/S3M1T7B>(B>6TNZBOR%=3^W$!^2+$R MTX5I;>L&PX=3.\TE=@I?[L2:?+&8W=;?::]D;8F6C99,%^.8Q\"9HUVK4$<) MIG5YQC'T3AL@.Q6FFD#Y 5W .:?\#/420A?%JO;3I$^9L5KRUI>L%98U0Y4 M8 2+)E2Q9F^D:@S2Q^AXB> [! 6+QBKI %8?KN(*__>*)/+F*_UQTR \@LB9 M]A[)I8YO\4 W#-C(7!&R&#"*]F;K-_''29G&:/J1BFNC&*2^N(R7?'78V.\JC%(G7 MOJX<0QWH9!D(C^_MR>='Z*D11N)=7 RO,>OBXNO M=%A^+Y3MB 9?,H>LF9*",YUSHDM7"?(==L KJ D\7KYT,MM*E%D+1EO-(N:!O1MNYL M-)RZ:6K:3VG/C*2I[C"XX6K[I)5\#MZ3 ^%*E9C3S*O,68K2>V=MCJZUL?P$ M.=/>@&,AX$F@':Z.#I#UZSSCY_FLS*Z')OQR!4N87^+VV1N]X'76,S.^D'=: MVP!XXR0YJRJ1U6A#B:V[WC]-44_X.D+Q#T:W-]/"U(;VH+/^[4VUB.0*9!+( M?%SWR411)UD&9KFUKI"MX6T>9(COM^XT73Q.<1F.K80.SJRS)4*=[K+- =GF M>)RC!HM96J8,T#Z)9=V7W3$>0N$Q:B>M;7Q:[:*E]Z3R Y5_?]AQ"TU,?6*] MQ=4*\=V7=17C_.-;A!5>]UW[<_%F7:CT^]7U8V,2N93L&4HNZ@DOZ80/A9BJ M1SG5K2&"6D_G) MG2 G.%EF)]CD"GL6H=F!A&6>^/+&U -X*6.L#>8UMI M_0B=O;NSIP7JP1KL *6;KKW?-FF)YTY(2X0#[2^HF\R6>B<8%IT56082FVX] M@N,>"=/TLCPUMHZ1>P>PN;IHZ'?,_#/VE7D.3*3U?XYV+]R6^+?!.I/H\JB!!3 M8C%'26XY *.O,W3::BD@9I?MO?2^'3&1?5:=ID'E2>,BHRFA@\/JC*[QRU\_ M?X'9LHKO]2=8?L35.5F,2M=B/!>1U\%;G$$JEBF((O)D+7>F\5GU."43-: \ M>?#V>#5T *9;!MZ5]<[XM+C(YT$A5^1!D\'GB(D8@=$6*2PF.F^3%CHT#Z\] M2LA$G2=/#:7CE= !DKX_+V?+=OM^UO&H$1, M3*[3K71-,:B18[3@2@D)L\+6Q^-@ZH8!\^7'^,=15_?]H._W3]Z*?%'>UR&C MBW*UPK714CLM7V?)W-@LJR8MHYM0T+:K='NA3-)XVD?.A721E< #.<.>,Z^] M8AJ"T5S6\1ZM UNG:SQ]+Y6FZN5=^<=&+^\7%Q<_+Y9UB.ZY"<8Y!,=R"K4O M/-8Q83DSKC3&X@I&C(/N]Z$KOJ2FT_M Y(DX<2/Q=W!M/\G7N8E*AIIP8%/1 M3-<\0#KS@2GK>2YD,#\8%=LX&G./H FS?<7X M #O[O%A>SOZ]UN";O^NP<+)[N=%*H64"4HV+!U$[ T6&Q@J!F)+AK5-!]J5Q MPGSAZ6%XK,[V1V:X1N9\/5$YM\GG_)ZG=Y%LF#GF7XFC]*D.JBYE%,*T[K1Q![H3IQB?!ZJDT.7709Z^':FX\E*0# M,QC)N+&R!K)B(*G:;+EW=($,:[O0/%M@G*CBJ$@;5_Q='(=/OO]DZ;53@63F MUGV.:J2^:,MR3@X1>-:\M5MU])/<.('#"2[?(W31(;+N6[2>HT%I.#,_#EZ/B.SF6K\KK))+ MSMS325P=)"EW5+N,0BDGQ4B<[%**10K;W%QRGI)F@Q,HP.DORQMM*?8SAYO\[I MF,/597V)#?B MMF9Y(_);CGT!=3TK0!FFD7OFG2Q,JSK+1"N>)>$FI$?L@Y&'%^#'2 MG]J4^GDVAWG"&R;.?386+%W8R60B'F1F@($\42SDBPI5\OW^9CO,I?O?/'%7 MQ>.TM&@ELNZB/FL.0HC68'9,19/)5*.?//V'S.8ZQS9:+?.X%LY@@(P61&P# MD$8R[@ E'SXMEI?K_NPW'$0!Q7CAF50UYS:ZVE1;"*:@E."R=RZUSEU^2,4T M[ODX*#E2QAV@Y)9PSGU*M;FQM:I.2=/D[=6PDW=6**4 E6[?<6D?3#3WML?! MQ&$2/1P*BTNX: *%_X;EK-9TW#(@?$XQ#X+*&(TT&E5QH?JL\ M(.(EO4P=8X4>)_WN2Q<>N)GO+C_A_%.K$D#F,^^TJ=P*+(*B( $Z 4"<3IVLT)F><.I_$E^>7[X.MI$[RQ[CHP MO9[DK\JRUEJ^KPVSK^LJSXM),1LGZESZ:D]$2ZR)0+XJ&' >L)AQVTL\3^-+ MNJU'P^:QNCL8F[1\7$QSG=>>M7_ +-,=-TKAX2$+CGRU[\OR)!>\KAWU12'< MR3K[&DIDP-&P+"3J^J0G2_,YA]-=\#?I$T72YC+ R=R6N=')9[X.5@6DL^^CAY?DPO]71/K4OPAPNOJUFJT7Y7@SCG'Q# M5QWY^#N(^4G.P&!C$)$'EH0A7*O:5Y,^JB.4LQ>.FW1_?-!+/@.W3^^TU'8; M_G1U*PQCN98R&Q)&24S;NLF5 E80M4F@K1JY0O%I^E[2>;D/KH:E2S3060>. MS:,MN+<)(5O^KATX4N>[\C.)%B[^!V%YK@V0H4R6>"E\77RD:[O2PC";8*PM MR<))VOX/HG9:K(Z'H"$=U=NK\Z4 E\3Z.UUC?_Z%%U_Q-SHB/M6IV8(X\8*E M: M93CFSB*76NCL7E%-:FE,,ZAE"Z[0>>E^@/5:5+PBR=3O^^=?BG(>H4#C' M4JASE0TB R^(6Z6T\0($-*\,V9/$:=^'NP/H(8I[:;@DH.$Y"BUD(7<3O<#: M"-BR$ LR6P!TT5H%USK);V\BIWVG[A.;>ROOA:'SY\55'2R(*9#86,(Z#3KY MPJ+WB9%$(W>>K'XYU06_I7&:U/*NL;FWZJ9.YGR2N3\7K[#&F\\*K7;#GA!">'Y]=CGD).M%C?WIBB'.&PV\OYK3U-P?C+$G4(C+^@L/(="Z>3HOY/037U%;SER63D@ P:'UE?LT11--O>H%7H?HI=]3Z^Y4 M:2VSUC5?&4U-B+*6@='(I# N6Q!.C]S+ZA&B)AJ+U0O6#M3.#YM%<7XOO'FJ M/(IST4DFQ7T!W.12_%=[G:S3UN_\?L3$_$=6.45._G/,39*I$I.TJL8*HG:. MK!?D+.@@F3(V(\:8/+SH0O?[DO^S5KS4&1W "SIBL\[H0 R,^#1,9Y1:9*N= M3ZTOG\<(>4FY)_L@Y<&%<[06>K!I[C%Q1KO_'"P*86)M?R1#+&YYLRH8SZ7RL%4>>05&:.29K5U G3+)T&IN86O?RV4G,Q-E?H]],ATF]/_B9U+.S3F;@<(.=H-;%6MY;'PH*G<]49*:2,UIL\MITSG-J^3JE1H#>6 M[J8VFNZQNN8;4]M:2*-8S$8PD9),6D2K MAO:W'[[HQ-FE3:$UJL [C2._QXO:+O8/6%Y^^W,)\Q6D8XN,G_O*%M'(O9MO:=R61D;6 ++:[,[LN.+168X>#+CG;&Y==SM.9J.;GIV,X1XUTJO MOGWWF[4%ZF/F*9,%4)PJ=5HUL.C(*D@I"A*%ULZV;JQP$*'3FF1-\?2@D]KH MBIOP9EPM+^\P^.9_KZKGBY>?%OG7^5=K7>=I$_RQ'LGM#(OD(VII.(/.*'!\!*$3.SO(T; CD4ZM, MAYV6:ER,(=,.0F(?2!7K@/#K"UBMWI4/EXOTK_7FT06XC\(S.J(CTT&1>)++ M3)$?8P"A1G5:VVN[B)DV5G&Z>Z^M5CJ UUWZ-]LNF%"",9D9%RSYQT2\%U$S MI6R=IXLZ-"_C?DC%Q(94&_4NFLJZ [1\P"6=I6=_;)=?L[(Y5[674H'SS*1, MDC%!,*A#*$$G59R(P:K660=/D#-Q%LN1FKY_VC02>S<(>O4H*RA"5+P45F0= MB^I\3? 4DNDZQ3L))5-HG??U!#D3-W$< T''BWUB5^SUNG9F^:5>XC=.A.%9 M\&#H]I:YSE92G,4<.,.LLPLI$)F#[*!G'+#'UIXVCGY:=_]HV4^,G??XY6J9 M/L'J-L?B/DLW?D?AQAG.LJTS!(.@.]Y*SD)]8JJA/14&O1(^ ZC!!$WGH!VO M\\78"NC:?S>*_/!('FQ0,=0Q&,2#4,A5]\9Q$PU+ACMBQ4:ZW#6GNUX8&>JSJ&KM=#U!SK0=7D[OSK?23+\@ MV^S#)(5)GE@@4S+4L=RBIBHJ](1$?3I?J8JB86\$2Y83.24Z-KO,"9CF4^>"R.R(FZ' MW76#U^P2/8=H>3&^R">VOO]8+O)5NGRW)$_TZRQ=6Y+2I1C(,F!&8*4?$XLA M*0:@#4KP%G!0G]-G#.W'UIZV3]1I/;>C9=\'=FI!V(:#;>9]1A%0961%J&H MUM[#.0NFE!,!,&?ZHQV 'A(PG>E]O$X? N1( 7=@_&P8V1R/R2,"!CJ",4C: M+T+1R2@RDT7G DFD]NWJOB-@TV7Q(+)*$Z?C499=&4YC4NSQ(U[5O: MJ.!JJY .$/;[8OYY,<=+6-X5UB_+Q6IUTY#E/7[%^16^Q[3X.)_]&_-YX=%( M5RPS,7)B,KA:N>%8-CKD(G()T!IU!Q$Z[8O=J$@<7W&=5L-\P(]UI_V"BX]+ M^/)IENH!G]?[<,/OG:FSO\.RBN+K,6.ICENP125-0Y8;U=EL*'J/7Q;+BK3; M<=!0M- %F%22(*VS8Z$XQ[C65DJP/LG632%WT7+TT7A5/9]WMXVI-@NMSEV( MSIAD6"I&,&V*9R!38)8+<"J5HFUK)G<2,W'J7 L*K# M=,-)*ESZ&K()3I/Y2=)@H'AFOH@(F&SPJO5\MMW43)S/.R:&CA1]!R#Z9;'( M?\TN+G[]_ 5FR\K"6[KCSZWSW@6K6$FFMB&QGFP'0 8@R'1PF(MOG3[W."43 M9T6- 9X&(O\1C*?[LCV5#;5KW9.;4H,$,+9%501&86I[<"Q>,R!/DHF8 MHC(A62\'U4%V8%'=QACOKW!'Z*^^;7YY'6'4W&?:=N1/2ZP9SS4%/V=;T]&L M*I9+<,T3S?+BUE>L[%VQZ\?U6RJ%F9DJ&HO M]0CKIL:2>6NB!15(?(-,^V?3BQ];O9=ZXI$4OF@J_>[PLWUS*T4$J3G+6=8Y M)&191OJ,H2LI*)U5X8-:G^V-H*D?J5OH]$F('"#@#NSW!U[L-IU'65XB9L;K M8ZI.2;(0O2(M>Y\S>)--:P-^!RD]0>80'>_J+7^$P _&S5= M1P[5]_E"-BJ>I73DOM8<5ZLU"PD"@V*"%RAXA$$),F/EWYV@8'Q\P^9HR?>! MG$=RB1)';:.,3*TS@#*21$)4S-K@"D\(B0^*6/X@V7=[Z710]MT^ N[ KOD^ M/ZR U* B24)R).*S9%"+/=*? MM$7&*,+MX!RYZ;[QZFHUF^-JM37;U\JD!']>2::^;'H!V3?MF"_J0C"]",@SD'FBI%?.HB0,GK 4E(=C6 M*4S?$=!)RYOC%?N@]\2A4I[ZXOH#E^L]-$_X9O[O;Y_Q)G"0DY%9EII%KVJA M!6< +C#/971H- 8<5NNV:X4N7@\.T=BBM?BFQL#O"[I47\T6]3T0ON#5Y2QM MV=":K"TK+4,NPG7J7"#R&2\^%YV)(V<&H6#W&EWD81R+@T8B[.?">.R.?7N3 MPUF\53IS$DP.GDRY$%DTM>*&I"2]A!SUV,^SC]'52TW_B>R4UIKJ 'T;H_YG M$FX=C%??<_\YN_ST^FIUN?B,RS=_IXNK7!][5ZLZA3S_"7^?JQQ"O9T9N/K6 M@K'FQR$R:S3(Y&H"2_NJIKW)[.*Z:XB5!W5-XRJN VR^7JPNWY6:)G77N?VP MN,CGF8B7"C6#6(=B:?)#(8!F";.#8A5X:%WHM)N:+B[4\9#62 T= .JFY\%W M<8TW?W_!^0K/<+>@)"MK[+[- Q"CWMQZ&DB\AZF M:FYSY'Z=)W)*U^4MB#I! L%$J,5U*AAR'I)C'K!(K@(X.VBTS2$)B;=D# *. M?[' .5;P'6#G)Z25TVPM%/KY M?*(;OM?GQM!9ZBKG35,(AD!\>2C M+ZSHVF +UO_L3_L;5F[_)AR"=SN:P_+86[N\+^NW\DBB\6(N?[F R M%L^%AZ*MT4QZ5]MDU:1.;P,3*'RPHA136B<9C,C.L/ J?[$@[P4)'1S%.PI5 MB_.TEVE+IT@NCL:BF4_*,^.-L)9^4M@Z/?R(VF#Q3?@?^P[HWU"E:8 M7R\^5WOV^IY )3D@;0/I>2UWUK&*"(@?E5Q0*8O2/"#V*"7#4/1RP_@-Y-\P MT#IAP3F=Y0GGEYLVR+/5OTY5<;YSX9.7G \3P=@UYX*3_^&294%R\D@B03HX M\(P.-HP8M.+-7<&Q:LX?"/0ZVX#[I(M!RTK)M%^E4(S,WL1L25GJ'!%*ZW&* MCU/2UV/X00AX&!PY6N0=W(H/N'CU[4_Z3Z_'!0A5=!&"&56GBJK:1LW7UWOZ MT-J@(_#VC]P[R9EX^ET#;3\'H -%WR.**B.;%#O:83QPH1E"'6CC$[(HR"^W MVMI,_\/(VU=Q[B2G,Q0=JO)GSZ+#Y-\#E#8)1 ]8VD[VRP[0Z$)B(K=5HU8L M9DWL<)N]*5QFW_Q0>IJDSB!UJ.KO0ZJA'GJ U<.=]PKGZ=-G6%X/P77.FRB5 M8\%"I),\6.;!!R:Y,8[7 E=@FK+S68#EE)4C%CH M$(^&SG0D^S*JR(S@1D+*8,KXH/J>ILY.JZ,0\"R\CE!'!_#Z !>XVCC/FRK+ M&HK9',#9H38R%^8131UL2S+CT;-4LE9@C)2FM6_W)$&] >L8W=\/73531 >H M.DNISK,D?A+.OM8S?3MY,D@-CDYVD32GK969Y!QTX"INN;<:Q&%ZW%.W7:YY;TL\VQ1W0:*Z1B5M392A)$K<*FR]2 M0H/)2'TO*V%'GN>]+YY.Y8WTM&@DM%X4_FI#N[=!(?C"#$<2 I'*?*:[U(B2 MO-7):SFLPOC>%T_7 65$A1\BM%X4_GI#>R@\6EMCFF UTUZ:VDP.F;#6A>"X M,7%8)O>]+Y[FYA]9X8<(K1>%_[2=HL@]9&XT*\K5*8IO(1G9(4?(K1>%/[SMME)3=\VA--HL+9KLX)%501S/$/D(<3B]C/: M?MY#X!8[3/ ]0N@/7-8/X".*UC2RXPIRUT4@Z M_H1KW4/H*7HZ>Z\X4.?/0>E0!?P(DYTVGZSBM]M_?[9$.%6^[7/KGSSM=B^! MC)U]ZQQ/RGDDO[;6 PJ=ZFRZPGS427D+@=#^0K)O#VD$)GGAFM=6<[424JMD M&9@H&?=:2\V#L:%U'M./,_%I'^RTF/BTC[(F?H2YZ7EZ]TBX[N5NM>9. >/& MD\,9:V\1=)F)G- Z]&2-MFAMOY. ES?W:2^U+UKK8-*V0FLV'MXM&Q?)J(39 M>\Z2!G*1R*RH77-=E1,0@T(J-2BOZ3DH[2)@NL>=1JI=M);RQ*?.&;F]1/FV M!6I2B7SG1(YS*367H7:Y])Q<(FXR>40:.;3 Q_>K3@B*-BI<-)%G!V[@F]_> MW+Q4DM^+=0(QZ,SK8T9F/DLB7Q@=1 2(,34V =LJ^1A1=;#G!]4/ M&T>"J=/H2JFA#2,4"P4%L]E&+8N(EK>>G].LC717@[L.L4Q'TU0'Z#ND&[&5 M,KI,!IL@=N@()69!U!B]]G2T%E4#8HW!^&.VD=X+*PW:2.^CN!\ACOEV,?_X M=O85\[JAWV3AS(%DG#RJ>8AXQ@YN@LK9EV@9QWH^N_J&F$MBB0=IE#4@\TMI M+7![/6W#QW6SOB$!+N=P<9O:.L_W%'%]4X&!% 06QD6J.:XQDM=2GT.1D^?B M-,KF3X?'4=S7@7L0HG:'/$=780>VP.WV_ZGV5Y[%J[7RUC766:>(D)C%.O() MC*%+(R_=3]$P+MU8Z'P2E Q0P98RDUH,MOYW_X\,Y M*I%=YHE)J,/;E4$6BP8FO9>^!'+ZGZRB6F'Z/Q\77_]K\XW7B-G\Y18LM^OU M"(E#=+R) \U4=@A!Z 1Q[ ?SGH,G)[_& MFBNM R!^[SJM[LGLQAC-(>OBR>7VJ4Y'*9GVJ2Z1%4>;K"89F3B>'?4497T9 M[\4[1C%?+2YF> VC#I=/26 M[H@TK._4,_DWCZ_>2UQK)(4OFDJ_._QL_6_OHJI#Q*(6DFF>'8O2">9MX"[* M(L3]\5N-$#1U@E\+G3X)D0,$W(&-?C/19[-QMIEI(%(L#AWC8.JP3)X8R"09 M%&6$$2Y(U_IBVT%*3Y Y1,>[1B@=(? .<'.3+_OJ:D4N\&JU9>>ZVY^.$(N/ M))::X^0*,%^E9!"*T4YB$*U'TCQ)4"^QK'&OKO:ZZ0%HU[1O=IZ3Q0@9/+.N M#L+,M/V"J5NE^*SJH#IIF@/K+@$3VT#M%/MXS/, *4^=A/H'+M=[:)[PS?S? MWS[C]D"500?BF^YSY1W3Z#,#7Z>)B^2-UMZ7VZ$K3Z:D[EJA"Z_J$(TM6HMO M:@S\OOB*%Z]FBQH?@2]X=3E+6S:T1;I7 S"A52(V,K*@I6< 37M"X,V#$+! M[C4FOES:X*"1"/NY,)X.UGOG9<8ZF,BY^@=DLN64(>Y0>Y(5':.M,.%JXR^D/Z*2B=$!DWFT MX&T:Y'/O\ZKVD(PNKJN&NMXQS.Y0P7>$G7-0405I$Z,;R-*-6_W+4KL")L H M>?1!MFXOOUU[XO>Q8Y6X Q1[2?1@))!G/UMD,M*7_[^]:VMN&U?2[_M?4,7[ MY66K',?)I"K'5MF:;.U3"L1%YAE*S)"4)_KW"]"2K LO( FZD;-Y\4-B-QK? MUP ;W8U&I=4>+MYG]$@@'# 2"3]??H_=D*$D\A(!"!-./I=O=NM^V7#"^YBS M.3YSVDP5UIF9 M;2L9@NC$K>1N0V?+J=]D6?Z///:)[_"M4"NMS9V5-QN<["L$L:(PM%R7(Y[(^^&AY[^^FD)(P$+, QQBWEF^)LZSXA'.,/1_C!%O: M@\CC-(7UF:;:S>5&]PYL&>!KGT[I/J_8:R4IWIR\WW'[6D;UW65!PGT<(AI1 M&0D+ A0%+D6)B[IVL+;W'K9R^<[*/,09X_0OBOPE+05_8GYR M7J_HW?V4+VLSX<)P[A'7=I"%9>K1Q\*%810C+I:\;_F#-7_%&G%$NQ[Y/8TR)Y1.U%QVZ MQX$])[RC!>G&'/ZXV3&C&_KO;5G)8_1W^21I[#E8'+MD HDR"V$L_!++]3T[ MBCQ,<#3!CMY&@NT@;(8EC<0=WI9&?.!#A]'(CA+DR^ZW'G8<%'-9,1]YG 21 MS0-?^\MV>CTS[8\<_!J>V1#B?L$8RM-VO<;%+N>O++"3(UJRNUD)5F[%FEGE MQ6Z&6,KPP>>,J4R$8L;82AP'CAVQ$ F=I0V*+VW,N3!Z/PE=XCN1??F:C8FQ ME;><[8 5_YJZM1-.P\#VD<-"6SY%)+-M?HQHX/$P)([971::&^:\5,N?(PKY7T!P G4O8KV.&^@,KBGLN\@"/7\V4#OL"2K[PD MR'5Q& <6(8FKNU9#437C(GU3C6*HV8U@R!S#PUE]'5?XQ?O9'#H AWZ$+9=* MLP@D8A%*2&RC,&%>3((PMB_/QKKLK44CP\ULC!$T&YH.1LRQKS/$7&N9^_%' MO"O/IV9;7D1CVT(LP?)%>S>1O15EBP+;3>S$2T*FV^4=H)YQD>2Y+$\[5X:: M82"F%C5,+:%.0I/ 1R&VQ-0BFR(L*VQLAUB)[5$_"G3?+1N@GG'AZ'S9$OUF00 MB ]$R"^VRI;42>]0QH6KM=G4#%";N=.UA02^GCQ!&''.<(B()Z/M-K51'+DV M$HLBH2SB,7>=^3>Y7CU-N:X+'7;12Z@!1GM#ZEZ.)QFASX68T2$MY+MQ$EHV M$SXOCV0+M7KO=E!$XL2WB%B"VE\2[=;(N,.P9HNXS.#IH\?03F*/K*R*+:FV MA-BQ?\;(@9.J_0D M,1)%S'$=AR/'\^J.FQ&* R]!H1O85F SQZ:Z5[&R9N7AQZDMF_[ M'HTB@8-L",D]X:MXS$6!X_/8CCWB6=I[%:BK!YU0F\.:NOKCZV3+@"_I^3X@ MIE%/JF3%RVLDWF/RI@L1CC)/*/(L+CR1R'91R'Q& ]]W>*P[KMRCDBFY-,VF M##"SI?B]"\@.)S'/M9(8\8>V(OK) .[/[4'2:NE]@<(Q(SX5/R@*#$]Q/D MVW'@L)@$2:0[)=&B"JP1:2+Z\F%)#:@;8#P/&[9,UVS)BK4X$M5=*-B&\?38 M/"V)D]AU$H)"B\A*UQ@C'(0NF9,G*,)/CY=XG';M9PD1A3'\HW.A*$DE'UO>&*Y\CW6P-+M/;7I8DHL M;%ZW20L3AEK4?N$ECAU%?ABBV'=BY-GB1V3;,8JCT \L3,52U'T3OUT;V(^= M'K853&@$]- YH<,G>[^^OJ8X2;/Z2+P/PQT^X7%"?"=DR/=" 54B%EH?&6D#MJ".X\A)E-@A"8^B&(6R8Y=G60*O M(/*0'1$Q2]]U;$=_8X%^O4SI?P86(QC'D&E6=X[8_58NHP>^R,M44EG>96GM M/S*Z3_&R@LC\ N',YCSAR'+K]E\$HR0.Q(\D$DXE%4!3_3L[$&N:+>]S+-\#C&.QVS.QX!-/8"@; (DC$Y)=?TA@6P)4W5<4FO2 /0Z\ MK[6-@=XT\]FC\QW;5"AN<^1$B0 EB867(IP*Y)'($7X+CUWM342:](#]P+ZO M^8R!WC3S.2P!X6PXOD_%EADE%O*"P$()=3$*8DPCZH5B)KH[0K;O/IHOT=;/ ME/W!,OHI+YYP-B4-WRI+RQ57)44UI=L_IB7)-U6ZV3*Z?S)"?&#%>A'_\2,O M42!T<$V224$5U*$19[(W)(S*DMOJ^1J_LY]H$J3JX=DO"_ M-6<\K SJD\@*.$8."\2:=J1O8;MDEAU22FS=)YEF36#]P#GMY:I,:#H3 M!NRS5\NYO@E45 _\#++OS+,P)J&- E\^("OF@:(P8LAWF<=MS_.YK?NV@J)J ML+[@NUN<9J[@*]1JV8>WO1FA^\^,;,2QE >IE80XR\MMP?H_AF=&=RKTU=X( M?3.SYA$&?B)'*Z_K14JQZ[ /N)1'T;7LO;4W_ )O5O4;*>6'W=OO+/!._ENM MWJN.8AAAJXL,;^[Q^G#%5G,UUAPJZLK#5SGY:Q_9G2F]?C("Z'V5.2VE->%^ M#>_H_2:;G%/XLI%AF/3E5:V''_5.W41^2XJ@Z^]!KXV\![6J" +R>Y]OY--0 M6_$KNY$4]XA083GXY5E6PQ&&Z+-C>4HJ1FL-_]RD5?GX].BM!4N,U;MFQLQ^_'LE6N-A2%$_9'_\Z:?WAVP131(2'L4<=W8 !-X_*:F:R;S MMM(Y_(:SR^2"QY>%+4 TE M8_F+ F]@PA[*LO@0ZA:@+4;"'LF[,\SX H)=2EKWIU9]C M45A$30+!&&K!/%<#P(2:OF,\J7O1C"K*.Y,->UA66D6=H&@GZ[T+7IMG==D M:L[()+RYGU4;O:8MYB_I.AL'MCD!5&%7$]0&F$.MV\T/,3Q):R@>T]5S53[= M/#[-8A;]X\%>YWU'\U"&'MJ!:?IZB"^ZG*'^T\!!,$CAP/3SP 4N)E#WYX86 MV6[UQ,BV>.V3N*ZF\]8H%2;[/YRU+DA,H.SN9T$614HTK*\W43!Y_.'D7$W> M!$8^BR] ]1%7[!-.BV\XVVJ@ID$F3%)^.$?M< "3=;ZR=__ZJZI-Z?9YLUJ0 M:=M>CV@EZF!S;&K@F'K)Z:ZH ]\S77"ZEJ[E^!7 M8UT9PRB[5QI@PI+=2ST,,SW*W"@0+$ VA)_3Q=H%"_ F*XO;Q=XOSS[R&S Y MVMPD#XRO3MQS)1#^7^RU0P% M,#\'A38XVY5IJ:=(IU4H6%7C1-^[%1Y@]IZJOQ8%>2B697%75ND:OZ:6])5[ M*PT 5O(XEM4AL $S_+"MQ!XOON.;E<:MM%TJ6 WD6"Y[ 3+G WB?5__+CE]J MIJL>664 L))(#1_+7MB &?XDA.8;=IBICH1HBTBPTLBQ+'9#8Q9O'[=LF=_] ME+E^)N:YX7E!:M=ZZF8[9!RP9+U3 _\#_R-;N5#YD6NZ_X MGSFX[QP,+G&NTP)4\#30#,2,Y3/Q*4_)7OLE_GEXI6@.4^@=$"Y5K],<5'$U MRR3$-I;AS5[A+^L?LA&EF$#]SL=.C^\V;D2XV@!-1C$,67-.8#I=O ZQ< 4$ M&@YA9OIZ#0IJ/D=?BE4BT:A85S]&!F4%2M53_="BKH?)G@7??RI/^-KH+?U3D3UC7 ISIM3Y' M(6 )UP$LG*[(R]E#)X1^,K*5S6IOQ3:QRHO=Y-*19HEP-%WBG2M.'CJ0G&67 MZJ4*K3J5BDC:!<-57W52D0_#!9BZ!7YG=]XN_ZQ&'H)N MU]+@/MO3SO&FY2]N\R>6,?D Q=Z&)J,QDKZL<&OY3E5B.C77+!JG/'[J/]&$'OJ,^R M"0P]*JJ+Q2ZY8'6Y8W?7?HS UV*^S"N8:L8!GZ(94XB2> M[18XI9J(:A()5E@[GJ\.9* /RO*D*#246NG:&MMD@M7+CB2N!QMHM_,0&;YY M66G;&UN%PI6ZCO4R>^ QB+U:LY,=0B>)3;+AZE0U<-D!E@E;Z5%5[1MJJV2X M"M,I^VH?4-"5%7]OTVHG>V2]0BF.-^NZ%^C'E MEF)BM+G8'#@57<#J2[G%0 M0A\;+[:9;V7]$:F[B#[GF4#YL=)UDAPV%%RMZNC8W1@HC>/_GE5?-B1?:XJA M*PT 5[*JC>MVV(QC^"K(/!?3'0,I,6Y4[&@$C,#,-VP_TE7'4.+; MI.C30/",6^0/U3,K9E[?S6,H46U2X&H@>-"K&B?;#!=?T[+2F.INEZI$ITGA MK%Z H F\WEFF1D):1"I5*Y@4S.J&!CSR?]C\]1/8)UN)29-"68I@&?#&R-%Q M_YJ7NE]8.I>M1*(I :Q.>,"]G0O/>^KR:Q2H1)=) :@N6*"O.DN'2LY($V%- M\I3X,BE@U &*"2%^+>TQ3P4I$612E*<)!G G))]<*GF0H<2'23&8B\F;4>8] MF8ZA]:J.26$2 \M4\\UGX;CL%?O(2E*D=1I&4YUJOW@E$DT*@*A#!OY=HJG4 M"V>>Y;R\S4Y7^KE/NA*S)L5"E $SM:'&ETV9"EB7!:Z;J9X\=7BN^<3N&AW# M:&FUH3H-#7TWKH:Z,I"1]U=;Q4Z)A1W%?9#-F:9WW&@4"'BYLX^+L^A7!QC0 M,"JXS)H+R"_FPE K:'? MC05^-Q88=K:NBFS)BG7YP)<%%?:EQ\/O$ NVAH;Y"/W @'L*4BL=S4C/)8'= MY!WJPS5,WQ1*EFDUV;T^$P5V)75'KWPA.18+=JQV^%UX"8M1-J(JQ=*MB%VDG[H'&T'0X,^EXN;98( M=X=VS&[8@H<17'W<%K5B&D@ZBH*[%3N&G4L$C*#EB9%MD58I*V]6JYL7G&:3 M"W@[Y,+=>QU#6"#;,#%G&]FEHSS*>#G5E(QK2 MC'-?,C R,S Y,S!X97@S,3$N:'1M[5IM<]LV$OY^OP)GSZ7VC"3K MQ7)LV?%,+G%G_"6]IIGIQPY(+$V,28(%0,GJK[]G >K%EMW*\;51/9=6W^1>#/O#D?C9V%L]E;'=:U_0Y4+/Q5%\OC@*@UPD1LTO+Y2>"JW> M[>G3T5DZ' WE"26GQ^IL=-9/3M1IDK[MC^ATG,I?!GOH"O'8Q_EY0>_V2EUU M<^+Q)\?#WMMQ[<]G6OE\,NCW_[471"\O,E-YC&?1/_Z,:C:527L#?8GQWI23 M4^CR=.>[LM WU20XN1>5+3JDIC!VLM\/_\ZYI9O)4A?SR7=?=$E.?**9^&Q* M67W7<;)R74=69U'0Z=\(5F*0\#B+3KR%GD)7M'!J,&0WKNYRG6@O1H/>X+X/ MVUJ?(@!DOXGYT0Q%J;'2:U--FDJ19:F]RP]7G[]_9G^[' M\:-AN.Z(GSS5.57BHRZ*>4>D9+W.YL+GTK_9'Y^>/R,ZM50*"ZI;4.8GHY-% MO#1FI_*3[N#;^3GH+=SXZT>_/RV#?F_,TW MI*R&HNFLK;AN !\DM(-0B:%"6>K):% MR&2*5U:8$MSG393;$*@H)>>DG;-(*6\)XZ[I='BG8 R&+$*>PA@LD&J+O 2Q M"MU%X"0QRW6:"]?PGU7_&5EJE; #I78%$ACGPIGV.1QT-:7!0-9;PS2CX.84 MW91(YNO3\'I ./K[@)!$IBN$F1&S"FL'"(0XFNU:NZXR,$C(4_B=%HV"3D!G M+88=P$XSZ]2(/(.6P5P4*U2V@' /A@;PE6;%'99H"@@ B@9X"<.Y8$\J72ZR MPLS< J>6;K3S5F(@R2^CW;"RLP8WMS!FP]K7@[CCG4/;-_.AR\/7F@,1@)+N#\0%% M*P9C%9_BH^;ZL(HP9?V"^6L-O1%-;,O6 V7W!LHP$/OY$-.0X-S^HNII?+Q# M.#V0A[L"U)/>V8#GX2,Y; (0KY#:_AA,'-<'-:F"XD[\*1Q!(.P,0V=:A24.FT*R?0.MX(1JYR. M'K%"6"]L\"LA%@0#HS^I%S'N;B$YV2$DCXXWD;PU:6T >GNZVQK76 M3K1BN MTIE*,J]+!ZAS@ 8S5I6LP^"N"<+I# M$(YD?#6511,8B^-+689:44\1&?=(S;!D8$(N.8$\7B\W$-/YI M"[;)$7(I35Q)9W^\_1')HD8/BY#B3,"> #@>X'6 3NT0Z%K>C/'7HKZ701[26QGF\YZ-)Z'(I%/T:CW3$P1-=,L 8//9 MNC4<>R<*)PA\N% U2[L.HU6Y=,MZ@QDPP)Y42 UA/EK:GHM"WU+1'B<\D.^\ M>(I>#/6=VI2-7\^F+)PPJL4ZZ:RXBJES':LKVF*T/:,&V:AGE]9)U+3>6+=, M^^$%5):E]I[H=Q)#8E!8<+O2L"\H.0"BP<..>1[_!H4_9R#S0C> J$!^B$,^L68YV8"G4U-<64.!]6\J8] M>K^L_W1SOS=8MAT%W5$_/'"UK-[MC?86'5HP3(;UG1C' 2RQL_]M,Q5>[_TP/(UB_D9/_ MP;Y84-KR]%C_$BI,9ZZ ]:P$=TK*]K4@/-V?G*"S7EWRQ M\OL\^> +FMJX<%$UB2>Q4]KXIF:%S3!P?]5%)@!HXY_N\M1'*4]^H-/^C9\+ M'87/E/X+4$L#!!0 ( (B!8U#,Q,BYH=&WM6MMNXS@2?=^OX";8G@2P'5]S<=(!>OL"Y*4'DVU@ M'A>46(J)2**&I.QXOWY/D?(M3F:^USNE[HN3J)SU4[O#PI=MB?$XX^'_<[9J/*7,ZW\ M9-SK=O]Q$$2OKS)3>HQGT3_^C&JVE4E[!WV)\=X4XW/H\O3@VS+7=^4X.'D0 ME2TZI"8W=GS8#?\NN:6=R4+G\_$/WW1!3GREF;@UA2Q_:#E9NK8CJ[,HZ/1_ M"%9BD/ XBTZ<04^N2UHXU>NS&Y\?)CK17@QZG?ZF#[M:GR( 9+^+^=$,1:FQ MTFM3CNM2D66I@^N/GV^_W7RY^?CAV\V/7W?W[ _W8_AD&&Y:XE]66UF(VSFF MM252LEYG<^$GTK\[')U?OB XE50*ZZF=4^;'@]-%N#0FI_3C=N_[N=GK+-SX M\T??G)9>MS/B:;@1$SDE86FJ:08F\A/MQ$^UM,!T/A>W5!GKA2G%%V,+T>NV M?Q(F S4I>M"N)6[*M(/P7+R-\/3W+CS_E Y!P?07EM3? Z25D&@1-B@)/5LM<9#+%*RM, >KS)LIM"924 MDG/2SEFDD/>$<==T.KQ3, 9#YB%-80P62+5%6H)8B>XB4)*8370Z$:[F/ZO^ M,[+4*&$'"NURY"].A3/M)W#0590& UEO!=.,@IM3=%,BF:]/P]L!X>"O T(2 MF2X19D;,*JPM(!#B:+9K[;K,P" A3>%WFM<*.@&=M1BV #O-K%,A\@Q:!G.> MKU#9 ,(]&AK 5YH5MUBBSB$ *!K@)0SG@CVI=!.1Y6;F%CBU=*>=MQ(#27X9 M[8:5K36XN84Q6]:^'<0-]PYQWS;"\^[PO-\[NW0-IIK2@&G"9)G&XY$[#K&[ M$=)20 FBKI.<.)J" ,TDUV["/5BL $LR4_*STB[-C:O1C_G3FCS"I;(F)877 M3AP!'8H MPB!SP_I1)9W)#Z FF[K'!*]@6SW1D<4K>B-5'R*CYK+PS+"E/4+ MYJ\U]$8TL2T[#Y1M#)1A(/;S,:8AP;G]5=73:+A'.#V2Q_L"U-/.18_GX1,Y M[ $0KY#:?AM,+-< M'-:F"XD[\*1Q!(.P+PV=*A24.JUSR?0.MX(1JYR.'K%"6"]L\"LA%@0#HS^I M5S'N?B$YV2,D#X;;2-Z9M+8 O3O=[8QKK(6I5@Q7Z4PIF=>E ]2YP&0,2ZL6 M> +"M4QTKOV.A<:BJ;054NU"6I-ASJV! M*%7OJ$2UD0/<:*&*5PV+H R/ ,;JTA48_ U!.-TC"$1T8B^-+689: M44\1&?=$S; #@>X&V 3NT1Z!K>C/'7H MKZ70)[06QGF\YY-)Z'(I%/T2CW3$T3-=,L 8//9(NC$<>R<*)PA\N%#62[N. MHU43Z9;U!C-@@#VID!K"?#2T/1>YOJ>\.4YX)-]Z]12]&NI[M2D;O9U-63AA M5(MUTEIQ%5/G.E97M,5H>T$-LE7/+JV3J&F]L6Z9]L,+J"P*[3W1KR2&Q*"P MX':E85]0<@1$@X<=\SS^Y\IZL0SIEUK#_+#DZC(-!P_'_]][_8'I_D..6@VU MHP;<>,/+6^=4$\#1I.SE'FA&\IYS<*S=0A8.56V-)?O\V1Q^0 MRS,+ZF@A\!0(#] )9]8-QEHQ%>IR:O(I<3XLY5US]&X;CJ2BRLV:?=RT J7YK_O M1G=Q'^W#5K/ID6!QDFW#L5Q6CL:+'Y=(;%4NYV-=!O-"I\M-_7QW/N4$B=JJ M&2,,%YN;:_71J#,:C?AFW6/BO5H,W%RZ=\*E^XE7VVT7YYV+[O/-W4YOV782 M=$?]\,!5LGQ_,#A8=&C ,.Y7#Z*W.2F,CRTG3/7GQSUX^NYPB!41_FY<'"\# MOH.S343AQ!B^BG#>)1:FOW F8B2_TV1L3 !6[<>)IDQ\6?+"C[$@>\G<_&6 M<-2ZIQ/(B=TM87 M-2MLAH&[JRXR 4!K_WR7YSY)>?;SG.9O_%CH)'RD]%]02P,$% @ B(%C M5URSZ!6T! 6A4 !< !C9'AS7S(P,C,P.3,P>&5X,S(Q+FAT;>U8;6_; M-A#^OE]Q<[$V 2Q'\DOBR&X SW'0 $.'0U31NC13\.?/0^.9;S(F3 0*T8,H[#0 M7%S!!\KT1_"\:M58%DO%KU(#;;_=@0]2?>37I)0;;C)V5-L9[I7/PSWG9!A) MNCP:4GX-G+YM\*BSO^]W:-)I,]IE!PDYZ-(@BB+2[3/69\F?00-5<7FIH\TR M8V\;.1=>RJS_L-MN'?0*,[CAU*1AX/N_--S2HV$BA4%_"O7+GZ69Q\:(ND)[ MD31&YF$?;1EV:SR2\2L1.I"-TEBM$,M,JO"5[SX#*_$2DO-L&;Z9\YQI.&,W M<"%S(MXT-1':TTSQI%RH^5\,HT0G[O&F!'& =C(N6 TJ:%L8D]N41]Q I]T* M[F-8BWXMUAC3S=26@AU/+N:G)Z?CT?QT>@;GEQ>SR]'9'.;3[S[RH ^7K5EK MW(+99.RB#SH]O_G=QSV:P>AX>CZ?'#\KW9\M\ZT"J=-^Z._#] 3F[R8P&UW\ M.CJ;S+SI[[]-_H#1>&XE;=]O?RD^+BAB"P/\H[%Q)KS$S-?+4O?)+)T*B*40 M+#9<"KCA)@63,GB_( JIRY9PP0JI#,@$IS-EMUPWX53$+=BQRUZ_ZK?;_F L M\X*(I7L*!KN EDZDRB'PO?>02.5,)ES')(-/I65@")W"C!6&Y1%3KU\%^_Z@ MXS?=Z&\"T:B0X8I52#,6+Q0W'+$306%R&Z=$7#$,*\^YUC;\]9C*N.N0FC S MK$B9@&.>96SA17)(>+ M)99XLU(\X8*(F".ZIQ6;@-X*F^-K9IU3"8S$*:1,L6@)J&!X@O\7"Z47!&,R M$M;F1TE.F2$W1&QV")6%W4C7=>ZMM'5?A3$C*B*":6]ZF[$EC&+'IZW[)LH) M9JG7'WQ![1:$4MR^O8PE)NSL/ZAF;XOE[/C>7V'Y]B'V9O]G]NLRRP7.N)RX"K$5G/$9S)E#N#=N;@JD56EH4LF'*>](,9TWH^RR_;L;:@]:UK[!AI<;,0 MSN3U^K94[DHO.P359WU#HHS5&I%4E"D/@66DT"RL?PPHUT5&EB$7+CRG-+AO MW[Z77-LM [?3RH=S5XJK5Y9>K]7K]>Q;B\'$&UH[KEYH6NZ%9L_0Q[+#?NO0 MWRSV6\%*MN=LE_81@<8Z?-OH-&J%JF'"=G$+P?VDV!YZ!$(6WYYWOYPMW8.! M=M_WSPDKQI^!MJ(4480(%K3,.(4Z]A\F%2^&_X4(RV+=$LAG'?[LQ-HI%,>! M7.!$9BNY+.6[3V6G1E*[]*YNQ>G5N8 _ M?WWS[O;R[95X>R%>]TYO>O6YW6-6.HE@1L\.GTR*+SZIH]9)W8YT+E;/3&P5 M>.&//SP].-A[;N>YEE7(<^ $YN2_8A3M9"-"[#_?%D 4]5&%)>Y,F8MT(&[4 MI%#COLK$?L"[L3\3,HE$7Q53I1*Q3NJ=O3WO_7YY$XC+J[-UTB\04IRK6$YE MID289I,TDX5.$['5&19+LTXP&'+..HGQV^GO9_^\[1''['YGF:4LHU076&;W MP6KH+U6N;8/G840J-&OZK 3%F.%5CUY>]\XN;T]?WVRD089$'@BB2%R .X$OX&^4"/ WN M!WKE/_[P^.GS#:30Z1I%RO.)C)"8.[$:%,\.'N\>[B,=K/0G"I]>]\2-3,1% M)I-0YV$JKM)=\>0P$*]?G]4D4JS'&HV 6,N^CG4Q QDUGLADU@GY]!HF V^* MNB"?@&Q9M2]H/TAP;U162)V(UTKF2IP.,Z5H"R+6\.,G46.?PBC@-F0T+\?3@L;A,HC(O,BUC>+&, A(19S*+4Q#, M9Z!-!VF6:-D9]GQ5ZA@E70@RTC6?B\$GP^.109+#K M93]6(O]7B8)BH%2!-X%R+/ F8.TMO2UN2A"W IY]ZE;'Z-%AE@)OB4&<@A W MZM12(%C\^OVGP=/]X_;7HRK8TNZM!WM[KYIOS8&S/^6MQ\'Q\9/VMW:%?=Z9 M;= %]GFX<;M^(^=5EXR4^D#+\>+!I7WP>T@9Y9]O-+MB M SGTZNU[KL8CNG)%/#%(78M0IU(>.<2($_CQW9\,? M[QX_MH1I-[ZZ$E"%I1:5N+$<07^#556 Y8/P .VC'6G9KDO@AI2P-X?AFJ" M[K-TGO6<\+B'Z*I++N1>E@O$_:DG'NQVL"IS%Z84YZE0[J6+!U()4QXT"V-9 MQ0E([)!(8RK0=B$B?%!J$HB)RF"'LG@:E/% QS%-7(H()")(^TK@X4W6)^3K M4Q9F?96H 9CB'D4OZ%$X3.\Y&%A8..@^C%)]- -G M$Q*?>XVK?]J'2X@/MF!-(U@EE*8@JF_P$?#D)_!6D)K;C@FOU=C8G+>7_(P% M=QZ;.X%;&X9!+('?%R;CY"*25K@4L,^F: &P4DC:X6Q MU&!AP!H[XN'7**K'B1[HD+FR(JCY!<,HL2S1!YLC-JPJO<<,-PW#,LMPG+ E M>&4GL8113S*-S)VV*>L-5"X'FZ1_G#1_Y_.R&;")BK]W&B$F3,)B/BC7"53J-EK.>9UC7% MQ380W(*R$WW"&@25'EY- SM&%[,$[&AS1SXRW-M1=;V)N:*12(W>M\Y 3FP=[FV+2,YR+W9.\Z@O M(LBXRT0@&[,BT&V$I/6GT*-(D2$P1,EN_D!G.08E9W8%QL!FHX &1R*66!OD MG%O=IMP"^J8AT.F)JU6<65X0MG(RB35IV:G,HGR9H^-&4\] MP$B T(L4SB9*R<--DI*-A<55/UD 3QC&4G7M*)YWCV$?"D\EQL&4D6<<* 9;;* M0KBU,E>5H[$) M%^Q7LP/3GD*>.)@S^-/:CZV/'L$/?02W MI'UV\^EF:S$P?W"2W.D6(&OY']'F1WH1 [53C]3\L,.[>-G,IZ"X?3H+\-T MKLDH^*/,=!YIWO' : K5"<@@XC2ER=+;.MW&)&JH)YNC8@,,ERN"$?:&/;"HW1B,;^ MT@F]F6Q7NBA)<30JN[-2V]JV\/QIFGV@B -8IVP5H\UO]Q?KI5<8,! H?6,V M.A<,+R_8&: I.)TUD7F.P80O.U(0[FQ^JSOVT?3\Z\RUI*5KI"Q&65H.1VQ< MVZEZ[I=SD\:3 J2N\Y?\](;+JILP^!B&;/A!#TC]3$>D84(%0B?:-BIIMCTG M[A 5 G=Z4?7SQD3PSE_DO]\ F<\,&[Z+4>%CXO".F=5&47;%PGG *-$=6#(/ MR^1F(K2PNK"3R)=R0Z:&\' ;I5JA!(PA68 <4,5"-^9M6*0>;)9NJKLI-0OM M+@6K *:-_T5W*A 5$1Q-^HH .7%].0>&T6#^.3XBDF.0B $2%H1BSDL#UA@Z MDX;Q&H-F:\W\WC3@+%5:33C[;O.B*1 ]3X&M@4,>GSRWW ?VTPA\7/@Z(%.Z MP?X+?$&DS$C>*1L+BTS L:\P%E-+D.&#[; M%#!.%D9D'0^#<8L+RYL4K#:QM4]!"5IVBF^8T %QSP+FZJM9:O,(2RECI$S_ M,_&'A5QQUACUN50;&".O2SK)(8!)3<C^$=,$TTZ 8 M$]PV.E3^S_7 ;I5Y6!26U8GQ]WF#)L;6=(_#_[?-C:RA,J.+Z\D[DB4A8V&6 :24V**J3BI>6\8(D5'(OS/,S7YFF>[>?'E]G@8/>:QJQ!+N9\-09W M:2[D@H--6$B;[G,/6A:5P;=3PH#5)JMJV&B8%**GF!@OO!ML%+RZBHL.8/88 M+Y)&VW(.;H(!US(Q*QZE(D\7ZM[&7%V\">W=PA-+S(#H#/!J@*D+_J<+',/, MM_;GP]/VZ3_E;'1-*+[48#NRPARG;(&Y.03& IO:,\.K2.\$A[-=,5R59 @_ M).D4*#]4>>6&K!:M%#XQ5KY-+#:4"UZ!JL5I%;[.9Y61B?A@I2JARB'""@E^6-8LW*)! 4HX$(SGIII:\$W\#,)#-JR]1'A MOB;.A[TS2=G&?F_R(35N@SO1,T+<0N7D.J[PY4[%E_?/5O&P/=ZB>V5(8*"F M63,SI7+LY/B&?>/*-[";,WA/.;;KQ+@&"V0V3G?G\6V*.?[R0C8_U7!/1+:[R:T+-R/)_1 M7QDJ1&0%;[B\8LD/" Q"UB9.QU@E;0*3!S !FTU,:1UM5$J+DB^G1/0U[X+Y M G%=VIPJSQOR<;6MDCJYW\9Y;VE=]4N[Z1T,$!=;6[.M^>3TDN@ *#BE;+Z M:0Q[HD OK++8@BKOSL+>0);J1@0^VYA7:#."?0-Z F[5'_$#[Q8,D4T"VV[RBFHACU)8QW. M=D7/V,(UZP+&5L:DV5S4+%%#6$$F 8:-XWA0QF*,562@VL(:Q@ZOP/>J\21. M9THQKJ[(0).F&8DSL'H1;O=E]M+]\@YKU+95A:U;5$:.SH@[%JVG/+H MP)VS351HCS=)H9U9F"NN0QQ6P+,A$/4 M,JL23P[76W^1A29[CV ;76-41)&-:(3ZZ8VXO+$R'=]COG]_>?N+.'W]6ER< M_OKZUEWA7AC 9EA2GN)<1AC855K@@!V\H%:E,)?C,8KJ3^(K/L5,=:' )CC! M8!+NO9BMH2.4'T =7#4S+D*:#]EUS"JM0HPPEA%'::8R \UFXV @:7CYI*O8 M",%[;28S/&2UD'V,J#%&QML=<_Q%%CZA UFGFK&"^/3#0#X-;-!K*2UJ3D>2 M-B)D%1I^1ME%Y*K)!,4K6ED8G-$RYNF43$(CV@,#N$2X85RX9431/:8,',MU MPYN5@4A6TIQUZ00\.O5D:&D.N@]TL4,!233DT,!8+,*_.83#P<8C'+JB8Y]L MDHZM4FO72H_[99:K=='1=23RVI7K?T1 [0/EM"TPEP$5K.)M8<* MQH$WN;X1;G$8D9XO*7FE2"-X/QEY4>V0>LH.4!S% CT>,PPA6)%6-[7_KJC^ M01QF.*I.JL8 &G2R:? C3H//1Y!:ZIN\,H5%DP$K&:SG-.- K#,(;81C+DJE M")'OE>DM>G MA]^Z.O6"AR94H'6PN0=E:$O/':+Q=Z?F8532N++5[6W/YX+$ MN#9!&.BO";GI4ZGO5+V*HI9U8%PH.!PFGY"RM1[9S)!9!1.R#M #HH*.RDJU MP1M+*8)PS]>_LYWI5B T,7!=#XE;5J,E6\4&WJ0VLE3\>),,BCE0^7=3 D?2 M*;(L,"1L%8 MG65A[] !"'KRG3BU#AGN MZ#N=ECFB*4M**?L%K)[K#TO[KK[UY\L9>'X9?=]2;6X5BHTZSRF+A5/?%6^7 M:P!3.-XF #WH"F7&L+QY@2;Z]$(.6:\$9V3NK %+N6\RH+&F-&JDSR8&0)]N MDBR]M!79G0AZ.O:<3P086X!R 5Y9K0GXUY,#E,&J)P>X62\E!DP*P$3^72; M)@RTS:JYE,"*I@,>"DD",V:)FN5& F#')QN,RAKP*-JZG&"R64+*-+C4PBI# M&$'O9.YQ>:\:4HI_(.&!P9]-4YF\E!@BQ(2C9,F=+C!(Q\+%6-4K3-25Z9WY M5:6D6.NJMJ1\.K:J)@O9A555ZE-7=:$_N(&B^&231/%5*MY.;-_7D^<"_GZ3 M1JZ-1A>:*M3[&529*(=SX^NPML&!*HF3/D[@Y:C9KSVHH/,Z3VJ63V!N*=3B M6X[V&K?8? F#:IF,A*@EV"!G0A*@A85'ULU,CO(K'&43X&2ZY'#\Q#Z8X*M< M>]SL341>KEE!M.G, !:^M^6E?#-"4<)MGM$4"2G'9B9CY(I9W7CB] <84*;B M9YJ6<>3<]99L5H6/=OC6U7A9A/TV%K:^2JV8W^9:Y2F(:Y0T.55*-QUQEX3Q MFB39+@K+WNN)%)U).IQ1;SM8KXN+'W\X?/J\UX'@C*EG)98, MO&9VY:0U\1 ([ 7$UJP/K[#62*6C] M?*0G7H2\02TF*-GX0I:@:F!RH404S(*U-@"/MD)=0CR >,*+!$R0S*- M$5\?HT6#4^?$&/,W.07JP-B SPP><3+2Y:JP< ()M6IBI+O':3.[X$"N<]9/ M,Z?@E31CSFL1LKZ8IJ*?IA_RD8JQE-H3PS7/'DL&*0"'N1#UT;2X-OF%!CS? M%(/=X]/MEU"D\!>&$BQ_0S@ M,_@T(.#]H&%;KSU;#.X#Y+?7CA_/B!]A%]&/:GFC MP%K"B!/,\RJPU1ZB>MLDK3H6%]RT:],S[$ ]BY\]H, M&5&@9W-%==&(G,)46-/ M4<38].,I%.F[ L>A*[*9N9604=T5WL*0:@JK1)3E# M32%L"OW +ZSCXRUC5L&=&+AO$P([Y^L-[/A-63K3; 79M0HZ=B'&@V:R+41S M_$=A'QRJ\Y^Q?(0PGI)J%X):9%V"!^!^(Z#8-*IV)4I@=RO:BAGW M8%/5L8P+7FQ-C=IZU?K1.,T0*]N0IG[UG$./??Y-I,4E;;SV*65BAQ$UGS1I MJJM[E/DW:XYJX013'1O9,3;G^><""@^"'FVDMNQ05?YJ;7F5(CR+.N4 BSAK MS$._=2IWO/1(">)" I?@Y[Q(&9/ H=:J3,O6)"[JF2^VO$Y)4YW9#HS8HAT^ M@U3LOLLTT)DM:\ZJGD[.>5I8-]@@=%_5<'I^/Z>'4'0CMW&':I'OLXVQ,U07 MMJK9&\!@F!"'381,L/68>U[\9#1#HZ$5,#-UL+)\:L (#:]<8]]I"408G8H&61>3,9@V^0"T_3>EA&Y7OG4$(718S@I0M;!,_ S'U-; M+1]5F=1A+J:KIO\T8=O11R6LLHIS6G/YKM M T#780NUH57%W(,%E'=U:.&2CL1>7CPI8*^ZR6)].FG:R#<)&OUR:L:$O=7E M(:T,#?V(:'TL'0(PK'MI78EDW3?UHLONH#Q<8OR.#[",S2&4MF6T78<%_>\" MDX&>>UI3>O(!>"WO($':7.WJ;6[]_;=6)YS? M @BP']U4:J>N..M\OAME??B,?411,=\EEKQ;M+:]QJ]TT%6[]*C#+*JWXFRL MV>[;.NF4C?)ZNPOW4KYV=R$\H?PR[HS/.FTGZ;#)9U[>@%D&F*])AECC2S/@ M?B^R?H(LV7=+4: KTT,&:ZOO#R5UC,:HW\5X5O?H-8-([3CNMN<\Q%H#E37[ MB![L]F[)8LR7U'Y:"=I&5MKN=ZC4=K5E=UFUML5S=\79ZZ3L0 MQ6=II*JSETX.GW; E[UM@7^93K:N"5%03\3W%3*9V<9<.5 T"N:;,M\V2R;2 M#=&9T4W*60_/M,\4-_"SEICL$5M(UNUF23_#7VQ#R,K--D!$U]"Q!7/_XP_[ M3_:>XPIL*5=6>@8O RLA 6^Q6BY#)8NCO,DE=G8<+39MO29^=D<@"%<^TP>;G M4_+X$>*)Y\38+T%C*EXL(_(L6W_'![F>M-_Q09\F<[Q-;T&O#8X/C FL-DF]@0@GIH+ T[ M.K;K09Z8<*(59?5)&OE=MRD&YEB>UNMM1A[+10FQS4=+LP.%QQ* A% H8S!, M '(5M!V=M7ZGT[@Z;^%!LLDY5\HMPJZ%K*]&,FJOL--0/5^\VN]\;O,.V, @ M7]71Q:>2Z>Y2IQ &^NJ7KX=>54]*/I6KWJ2WM;\ U[\U[%H["\IO5L:WUXC2 M6N);F,O5Z/Z9:MSY$ZA:F@59XQV?O[V1"9,.]2Y8;9R>EJ#;L_7W+NA5>0MS MAH$K(C%U)EP=4N_6% A)S*D%ELF^#%)IXHE@;0S-(XJN.PJ<'!MR@>8 M?I@-@S1PA?&._[F=,;>@KH;&Q\_)V/30'U"1O3W7)2HQ="$_J,2XKGPVP,(S MW&!7]#5[<10!X\,Q\& +LV/[*E$#[42T40N!B4EX74[Q;ZS>5T,9UTIR[O!R M$%8A*4DS!QK'9L+R.E2AOGK#OJV&NC[0C*;"H!=#GDMK;Q7N>1H-Z> MI-:(! ]!7=J(A&^A GA3>=#:CV3[/BWI3>4B[I&5^\(^QMII+5&//K==-H\R MC4;XD,2,WV4VF)/@IM-"I6+\FY#@;ATH%(@Z-;#AXY%M1LI\*>B,BCS,=!^U MV^;F>@\VJM+^C+L@8JPF.E>:X^CHE[OF0#-W#!X M+?9M6PVJ!98306MK2:D^9B+X1!77VYRM,1"=H>+NLO,5RPTCU#B[=PP':6)[ M,-10Q#;E$"*:PW2[7]YZR>200"P:2 ]8T*Z[O3F^RJ*-/!)+<\!:B.6UB;:G MV(#1J\PQCTD\\TB.P1=)^0V+&O ZO=]G39%3^C9GRF/"R#!U<,GP@27&^) H MOA80"DV!+$UT6+^$63.G$]<(-60 ,9-HP">:PR:3F3E/K7("^ B2UF>V);1= M)I:Q*VRFG.JXQ<1<%A)#V&^H$QKLH MTJ'BU.I@FF]MSM[D#$3B!:?-6WI@J3F40BL=SYH53YA[F M0$Y$Z#&&6OBL#S1HELD1/J70B\S)*5'"RP)4C1OL#J#(33*(=<@F!]UD$G*Q M\K8;6"F8CO='8]A7U"6,U:/LX1S)P1R*\Q-5.H;5;\^ MYP!=-XX-0>Y^[WI<=$7M+PVS8*RS"NA1ZVN.MS1EFHL&9XI+_^83\TEJ>_#9 M8[R]#)7)S)FN#[8Y>=YR,&<@%O2C\#*1%3:);EAQM0DD92 FY437.O\A_RRP"EP?H M;@X96K,4_-0E/UY?>O2T.RO^>/=P'^EP/UVR0@HC?JWFBZ(78WJ0OS/.6>.P MZ4JWH$VL/EKCW^_>.A=2M/U;@0!WDCYYS5U=*U>+6#7'3&[;QA$%!FI*1+VA M;QF(#PI1_G@T-CP1KJ26CZA]\$,!3A@5'< K\; L&G5@XD$.&1/I''W MTSLA;"9:-@W.W24%;8?<'@P=G!-SI/8U9RS8,5]$MFWX)>E"E+0^]M_LU+H0 M-6UTP32.UQPC&T:%Q8)5$F^K(^X6TWZJV,[!U!/_2"I*5X PSSY:O+KF"%@7 M\;3Y4^8YZT-90-G3-D>N>5Z)C1_:?L^VP5';&:*(3-;DZ. QOQ@>X0-,TJR^ ML\R1>]_Q0>Z(S^_XH$_;F0W1O*2?>7W3G''9!=C$1-6=M7GK#3[,X Z J?;* E_*I+EO )T>&S:F*E'J2),=+Q M $W\)\7HEQ&6S-,+-\$J:8:!EYE/O6]!FJU19JU:K@<(E4<++9%[R*(O:L[= MUU\XV7]^8ZOH!1IGIO @AY\.GW^&X-)RVGQS!O233S.@<28Z^OLC_?AP;R\* MCY\>'IV<',FC0?_PX$DXD/M[_;W!T=%^]']'CSIH='=,2,F6F_-9P T>XOAMQO?_4XS]Z>]WZ_ MO G$Y=79;O#05?[M].SW?][VS-WS(9PUA0'$.2BWJ2002#8Q%M5#Y];^E 0:'*,E^9]NBI=%6[M]3%\5@=?U[\/VT 9LNW?@ !?B2H[5 M!G)'%[?91A/T^_9Y(!?<(H3U&UCH+NZT;X7VZ]AD7;#V.S*H>QK:FR[)OBKS M<'/=H(TV'[ZZ3?&MJ)@OE.Y8[^*=,A%G,HO3W-+J>*\C M,_YTK-!X TP=CZ+T_O>ZZ!1D: M]*9W=2MZ%Q>]L]O+WWKB_/2V)][TWKR]/KTZ__7-5[M#_\P\ON_KKV)?GWVE M^_KL[=5OO7_VSL7%Q8\_'#Y]_O6JV99Y_ '.LQ[,ON_B;V47GW^EN_CF]'5/ M]/[WU\MWJ*&_I2W\&19KT_?]W_II-(/_C(IQ_/+_ 5!+ P04 " "(@6-7 M2-"?D%T= "=]0 '@ &-O9&5X:7,M97@Q,#)L86YD;&]R9&-O;G-E+FAT M;>U=ZW?;-K+_?O\*W'1OU[Z'=B7Y[61SCF++K?:F=M9RF^ZG'HB$+#04J05) MV^I??V<&( E2E"RGMB@KZCE-(HD/8#"/WSPP>#>,1_[[=T/!O??_]>Z_=W;8 M>>@F(Q'$S%6"Q\)C222#6_;9$]$7MK-CKCH+QQ,E;X^QSJ+[(.ZY_ MCV7LB_?I<][]H#^_^X%>\JX?>I/W[SQYQZ3WCS>R/V@.!F)?-+S^\?Y1J\'[ M8J_O-<5)OW5X,N"-WYMOX%:X7-\3Q1-?_./-2 8[0X'O/SUJC>.W]]*+AZ?- M1N-_WM!U[]\-PB"&ERFX6?]3/V/Z25S=PL/Z81R'H]/F,3PL%@_Q#O?E;7#J MP@2$>J,?E][BAGZH3K]KT']O\9>= 1])?W+Z][:2W/^[$_$@VHF$D@/]#9]O#7O<[E#;NY8NU>K_OCY<_P"2?2OCQG%]WK MW@UKPU?G]'5A;K-GU2K.ZH\DBN5@HK^2@0>3/-T[',#&4$;!1$ MR&MQR-I1!&,CSN.!QRZDBF+6AL\>?;<5X_7??W?<:C7>IO->XJKH@;[DBZO) M1#-NOMUF,/L1]P3C$0L'K"?&L1CUA6*__^Z0##JL/V'+)TS[NK/3:U^RB^OV MY5FW=W;%+J]VV2$,Y^/'L^63RV&,#<)TJQ2%%N_QY_]K^[>S?-QW-"36KB-7@!&W[A*B3%^YE/&1*#(02 M@2M01\1#P0:A[X?W" "OA2MC[D>[7PDZE@ZE],L]X9KU/4T Z2B\ZLW[Z^6O M\=(%;=[\.]_X_%\4F;R"^7>_\?G??./S;W_C\__XC<^_]SHB!S/04@V@\?OO MFH>-M]-_INX<06D-Z!GBRC%7L121AE$\9JY0,9J_!!CH#8_H3M'3H')WN =>'WOB]8])\$EVP@ M1.S@79$$)H>[P@';DMNLE\A8,!AB>_8CF\?.&BCB 5AS$(@C;J' M]6:>&, #/$U\*V8;#;GOLR&_$R2B(\&1G2,6 :<"?<&;I#N,\+(D\$44T1?( M_&! F N"K(#GP9!(7+\H?^O7>IDK8: ^K)"!,BK3$Y%4VAYQ"C8P&4= >%AP M$<7%E4)]A9]2@8>;\6_Z4@E"$4X>L1>@EY$1>,1&86KYW,2GE877NDKV-??@ M<\A(3WGE/C=701J9!D8AND7^/C+SY]NNE>7[.J" M?>RT>YT: ID:,Y3S $V=!JA9IUE9G SDU!KA!&4SGB"E[H?2'6(6A<1FDH<:8J"=AZ'L2R#2\HFSRUZS;JTC8OR(;D6]ENI"HVA1O85]C?@-0$6> M;!Z])5R:YCQ15'DN,:0!4RUL*=B5D>D:H1_7@%Z,QCZI/V.QJO3-J\8.YS7P M-V-/X7!"?$K\)P'@('*_BZ ;0 !/#A#,D4DO>F_XE,Q=LP&)ZX8CN!'6E46) M.TP?[L"G_A_"S41%HU-\#+"")_4[GSG7GXNJZ MX]3 #+"6Y 0#S--Y,:.6@,CB-B2/U0!$GDIX=#SE'"%'&MVBY(!\)$4@6M9;_2$\?G]"3#-ER"\]X5W*\"_R]C* M_&IT;,:!I>(2&GQ:6E)DTZ*6T9/Y_KN#D[>:-5/EW1=("(L_\;'). Q*6;-* MEH7+]7PJQ87FY &B7X0 M2S]70U9LA)3:G?!(EMD6WP9-D*#?C8ZR\7JM.8@'X2:H>D '5*@'$TWL;S,< MCX+AHUJF876R"9^C)=WB43%T4PV6ME<%6]*H:P28AMAZY3SA R$5*HYL30F! M#$7 !@E<$29Q%,-/J.3'2@:N''.?];G/L7H"5O6FRZYQ6L L)M";!&,ND54\ M?'(>;B$F(.M"$ @^C/F$@"RKM!!*C $YI;;LGBME BK64'EL(FW:^9VU^M^\ M,XP!@5@E @/_2J$MU[8: ("(!2Q 1O79C,$#$+ H4;3R"(8H^'K 0*%*80C&1"6\(AP8E?&PG8\"L#(J(_-$2Q.E/%6UR@YJ MBJW)=OD"E+CULTVM5;%-&8,$0A((IDS/G8C(UG@RRCYGSHUCPT3DQ$J(/4>= MZUAL!I@UT_;1K^K#2&2 ;$G/C>G"6([@]3:,U7=KW7%'R@<&E8_"2<=I!6Y+ MZ'9JG'94.;=T3PM#O0K.VUL5SKL$IPMU1-DK0STPAWER=D$W!]6BASQ!/OW$ M 4L#JL]A<@1F3)%.X00Y&%94&Z;)N-CP#E[U.&]L@?WT$[*EJ:;+PF5A']98 M.Z)Y4 W?:-2IESM[Z&[26$C:X,,@B1-EA]AH/,#NH-PQQ1MMTS30'^,:*4Y8 M7PFPB#K7$0[T-/%M2'.Z'36XA[E]F'(FXE-&_1:&&6G2C(6*T,4=2#5R<#"A M*XUGK0H%J%BG[I.CK7,C0L$_1V16[.' <$7@@XP(O9ZX40=>.15HS"E'XTZK MX&7!7EBQ&5((Y?4K"7?!;%GN./A?,"(-6XE^%G&<2A0#LP!&DP9.P41=K2,T M;L]C/S.UA+W_!T Z#?!4"7#<82FG=@2E=QFETLAOX?TH] %RS]A$M( 8WY 6 MO13W[#J$Y9HAT,<+:9&C@X-6HW%\L+_;;,V*RBT?)C6?^,KGI,AC5+ W=ND_ MARH=XIC?BAV4Z"\[? "\?SZ)WBQG,]FBAFNI9JH02RUYGX!W9YH.;1M MODCTC413"0ZI7%O7##*!=UV5:->GJ!X+@+>$2%$+?/_=_M';5)M;CR;'YCY, M? P0JCMI:@_$PUBJ3*6F !JGB(C'7P"5@ZUO*[) M&:,/[Z6@NSS<+5@O7WO>_D0',K__;F^_M@TEK$>4P>%>Y:2KM&B1_^A(M?87X[BRC=Q:"7@I<*D^<(A$RJV.E MHD,0 "-$H"&5B")09H _DY'(G4L#Q/HAB JBMY+'%J8P- ^,3&BOD).)!5TSM8M1=HSDZ,E^^[D M:2I4H'#AP)R&",C"8%3,L>?+.;$!A4 .):NBOGR(]6!5%>D,5F $) M6+E0$]:$W-"L,$^[L!,K"X((!QSPW(FTD!TYT^8.>+3/[TT8 ?WO>+)^BWJX M*HL*"^@F"DO!]>Y,K0LR_][$HB=Z@?/,D95?FI)'*V[M%%(>SE1I9B;02Z?& MO(TK"+2!QUNMK?YV#>D"VX]P,$]3S 1@G7Z*7?@(UP'O^%O+.6@T*@LKIH(V M2MQ)<)L?T[\@L+"^EF]C.7%K)Y!'JR*0;=844.IM*UZ"D MQ=$ J[B&5F$2F^)H])+OE8QC$62E)P68IE(>4FYCV@B=\9AM'6RS/G:&P@(( MCT^BN2$=G8#$+5#(*J0?46BV]LH/R0NGIO( 8-Z4B_M1@%EP[X+N/H7O2^,W MY3?;!BVU&WOS&/E)*:FE\L[+YC2?I=;*[&Q,%48==>U6"0RO7:7$]*9FYTJK!YRJK17XL^'+9VFPOHJA: TJ5S7-TU7ON[)_OS6>X#+LYU M7^QVS6[3Z,1NM@ LNU!JEGQB)+\<892>P\\(8YWI2ZNXVZ#@%ZB M=&DUC%?/=]V 8&M52I0><;1A(>().Q>4*:]%Q:Y7D/5,&4 MURE5-? <3'ZS9C'UF?E>*9(!N00W\?D03;.1M5"MB\ZU&;;Z949[:NQO,'_G M\.!@]^C$\,-Z2=+L=$D[P_UD]M*JJ3RG'/H>V#Z0ACBF&EMV!G9*QA5!N_WF M@7-XI'6=EI3'-B3?W(?L)3#,._>8>'C_9%,6M0E%< M:U,4MRY%<3?#,(E(3_3D0R9L%W(03W8NTCUD:$SWC]["'>PZ%R38?51H*%'CP\<"-2U*##DNH%1 M[H16WI5'HJ6";[?V8$!/-%U% CDPGYC>3 8CJW>A5CF>PJQY,)]@4XH?/TV- M&SF1B*\]9!6Z0GC1TJ@-YC0V3\?-(V6:&)M9'!L\5$M M8JY]OU%[HMU6<6DB2&^;ZCP A]/NW&M24]55##-[1FQ(/HODF6"/> ; =6(D M7PF]K0T3@TH$@NJ"!*Z'9ZJR32/%LJ;+TX%I[I$SO'WZNO58S<.:%W/] J@K MLM-N;HME3_,G.(TW7=;&T!HZE[7&45=)*/;K+^"R$KL @(1I*X7%!5A)"5!& M[S$@G(?U*8DB?;?F=2JM5=D>,%>Z_-A4T=6PLP4]CH#:5BF/=F=2=>;*UTPV MGQJP>'Y0491O%:6#-W-4=T79YLP^]L->7Y^Q Q<>:I/R5^=A#'9K@S32FK^3#7HW%V M$^.7/FSP-=-Z87;^:ZUMEZK?%ZVS%JO5'&#AM@"8[C-=BYQL"PP=.:LA,8[" MWK10(1\.(FL>5#67='0DU?Z)RKX*7&,\A!0P6+MU5&DKCQT-?%5<]+*1ON?J M,JM#?>4UK 6!MZ-L.W?%X50E%[SD?F<5*K83:>OP&>7&QN^,@ 'SP+P6)_,Z MW;.%$&X?AV:_-:(]KE[%>_,)3+OBML\]5Q"=M)VC==NYP!IJ26U=TX[6/_$_ M?X;WG/EAA$W#/OD\2 ]%C<:F/5YI!Z[/^RP<9WYYR?W.VW?F\0[C^I-V*;KJ MS-9]V>%SOJ6I[C)%/^*I33!K:XP7#?7R&PB4% M7&C=!XK=>32X.*TNLX[]N9KVDICTG@SN!'#.;19DE $:B(E#V>5L&%+7]E!I MTX G_E0/&4?GE8/0WBZ==K\(\. JT,5*8 $-?G ISQPJQPP __4'6!(7CXY# MG>N-9 ":4U']).N''HR()S!VJHG)CC? IT]P=)E=R[O'M/.YI&Z>VD!D M1WSG34$#&!98J('=N^V]3?4E#((YQQ$ MDCH![FTKP=:D$![BAZ;<2$*( N9X/1&0G$K\PVTT] M$^MG[5]!I5QJ16NQ]M,!Y9G6OK*+^:+6?JHWTE<[0V88"[I"*Z3,IF*KN7]W\*D&XQO95WX_KK>BL_PF>UO*"UJ^C9?Q55CO4&"V;X )3;F7T\HQEJ MOIGT3G(F\+@'%0;2A=^E;Q]?-/8&::[.N@K!(J>CB&A/9!291NIX1^:P_;+; MVV4#@=UA?=;I=7^\!'5**K0%R[2=@RM 7T%DDI=L!',T1^OJEMYY[]\HM#?! MEFB'6WBS;*R7^)/T=%[I%3HXX;?9&9EY*0JB/SIN"1M()FHFTBNH13C4M_J(%U[A, MF..KHJH1K9\R6)' ;TD9I(*HET29[AM1H2<]M2XWAQE@P4#*3[=@?%6@P8+! MR.;8,N+4@ JH='O=BLT:$B4%%]WG]YD#%\6FH,$H$3M'#Z/V0SS9TL'TNM2'3AS?N.,125'9I![YH^ZJ#:\ 1>I_[%#?8)2M0D,X$H MP0F6YYF@ .TGHN@&;2M*B6Y4C5X]4BN5!SG52&YVG?AU%)&E1'?HG&F,P?@R MTL=C.8O+"?7@F"<>H+^MYU*O"WB>I Z2YT(;8OCQDNM=M#H*\@$4\!?X]A.= MJ1BQC_ $)Y.6'DB8%JC.'?<0*>#OS%268L%OB. JOZR+FM.*D.C':=6/:D.# M#IDV: S0PMCG5!F"CTU,HLD+ )7-*^J^S((IPT7];JRHT#V=G4AE^$8GD)(X4D!T*8 _*,TY)V6.78\ ZD M%6/$TTVQ"SS'(GVLA,B/_+5SVR9&C@LS"O 4 ^N0XBCK"I2'U+D:^<@T>3&U M=2RJ'T:%W!:Q8-HJB:=3O3Q3)B6;$.+K B3NZ6#"RNJ %YZ MSMDT7WB"Z;S63V979(>FM;&DN37>+MH\TL$^Z%<#+,Z A."D!)*#KT\GNQNV M.)>1JPN1TX:N^1Y"<#',H<':M&09C=EKNBD&66)F85,,\H+%(+6KF179M#KC M,*(\_Z*AP%3:.0-RUKX%K@.38R5%C!W)K'3U+C-]=?L4K*D^T(?LS/S3ODW' M/#25&!61A+L1^V*./3T=R=-*SQ1M2+"F)O"C06VZ1RYM126D2IT0:M%XJ]LF MT4%:^\DZUI0%,B?@/.G#VBDX@',$THQ'5'( MZWFK.$ )W!1S)P)/ST^?ZF[HJ=TMX$./MH[I37%60OOQUI-52XWH,R,5Q63M M.6P];%=4AH=JNAS26EIK[?HAAMM@D!XP@5DU@DQQ3+_[M),HR@L8<-;%Q4*V M!7B4'6_/O3L9P84(E*N:#LNT!S!00#?L \@L-SSRS!7).]"KG M>IB.OEQW5S0QT1B&')MX9DYF'A5X&%SYR;;N<%R.>YG0/OF2NFDISB^>X:MB MQ4<:3?\#O/O(DZYV.TW6P^?W3NZK5KFF?VX#2L4:!9O 95C+D87&F*P! B+D MP%],0TF2E.GH,/4=6;AQ\[ DW28Y6.>[#<.GUJKOH9D M:R-ZQ:%HX3\;2C%@5]HZ8\,!7>?WBL3BLS:9;CA&\+X1ZE?-G1NA?@ZA_E$$ M5$B#U3R1\%^WA9_R*M;9QO_*']P).@\;=8#D.&X= "4\X#I\%KL.N>>PYY3W MP]V#A9R"J;!Q'([!(Z*[ 80#0W+?R$B?@\@1S>K8U<$N_#!4N%H]'H"F5'X8 ME37F40-_KP0"G2R_N@$"&\G?2/ZW(/D+HP4+"+@"ZP>7?++A2?-M+PMS?,(# M'B_24QM/]IXDZXN?I%*1S=FD%FM)+1YL4HM?F5JL[]R@ZOJ^[B7[W+VY[/1Z M[/-/G>O.U<7RN'6GJV'2\QR+]?O% M_;$#J; >IH^=T$PN\>O+49K'C71]TR@]?;74Y?S8OCS_>'5]7D!=]D?6Z=VT M;SJL\Z]?NC?=3@^69O?3KL-FD"K=1SV48WT-&"1^BS&+$6V@7)!RK?TIRAVT M5IYRP,W_NNZQLZMKH) FT,]<37Q=@*"+N2A#BK_=&C!J*/:J"3.+(H9@*]40 M^J6UZ$SM6HMWV8VCS1)4@]@GR-A*H(^;SF7[\N9%UI&>^:T+MK![>;;T$!9"^N5/N1[U92$,RX#^-2^B#LBPT;ZK9A@O^4B\ MFJ7Y/W$GL:>)4B*.7X.[5TUS7.D4D+P&LL\H&5DN[%AVZ/EP;^\MZV:'P6#@ M?S#1%:E4CYS&I1T6@ CI:D_:[J)=0@KWH+X>3V M?F/KZUV:GI+L>@*>V,;.+XOD[.SB:K5C#QL0L'+AF'8/FW=U.G-#PK^V?SO[ M]TVG-O!0BM)O[.K&KGZK=G59"GYC9E=!(#:F]^M,[Z;.:WF+??BJZKQPN:7W MCS>R/V@.!F)?-+S^\?Y1J\'[8J_O-<5)OW5X,N"-W_??U%X;-E7 642+!TO% MBO-/'J=>7*R]>"WJK*G,+^"LC2*S=H.-)WFC(MK%TDY[4=$\X/^MGA"L'',M,C R,S Y,S N:'1M4$L! A0#% @ B(%C5W#DR-O^$P M/NL !$ ( !',M,C R,S Y,S N>'-D4$L! A0# M% @ B(%C5^[YK3D''0 &18! !4 ( !G3(" &-D>',M M,C R,S Y,S!?8V%L+GAM;%!+ 0(4 Q0 ( (B!8U=OR)6XP6L .;7! 5 M " ==/ @!C9'AS+3(P,C,P.3,P7V1E9BYX;6Q02P$"% ,4 M " "(@6-7 6006G03 0!2@PL %0 @ '+NP( 8V1X&UL4$L! A0#% @ B(%C5W6;1@(5L@ Z"P( !4 M ( !',M,C R,S Y,S!?<')E+GAM;%!+ 0(4 Q0 M ( (B!8U=#4KQ3>@< *TD 7 " ;J!! !C9'AS7S(P M,C,P.3,P>&5X,S$Q+FAT;5!+ 0(4 Q0 ( (B!8U&5X,S$R+FAT;5!+ 0(4 M Q0 ( (B!8U=&5X,S(Q+FAT;5!+ 0(4 Q0 ( (B!8U>TG3]XL"0 -/U M > " ?N5! !C;V1E>&ES+65X,3 Q8V]D97AI2YH=&U02P$"% ,4 " "(@6-72-"?D%T= "=]0 '@ M@ 'GN@0 8V]D97AI#$P,FQA;F1L;W)D8V]N